- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在触摸位置复制背景图像的一部分,然后在与裁剪部分相同的位置添加 subview 。如果我做的正确,两张图片会排成一行,你无法分辨出那里有两个 UIImageView,但它最终看起来像下面的图片。为什么这没有对齐,为什么新图像放大了一点?
更新:我的 ImageView 与主视图大小相同,图像模式是 aspect fit,所以图像上方和下方的白色仍然是 imageview 的一部分。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first!.locationInView(view)
let rect = CGRect(origin: touch, size: CGSize(width: 90, height: 90))
let imageRef = CGImageCreateWithImageInRect(mainImageView.image!.CGImage, rect)
if imageRef != nil {
let newImage = UIImage(CGImage: imageRef!)
let bgImage = UIImageView(image: newImage)
bgImage.center = touch
self.view.addSubview(bgImage)
self.view.bringSubviewToFront(bgImage)
}
}
接触前:
触后:
最佳答案
我终于明白了:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first!.locationInView(view)
UIGraphicsBeginImageContext(mainImageView.bounds.size)
UIApplication.sharedApplication().keyWindow!.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let crop = CGRectMake(touch.x - 45, touch.y - 45, 90, 90)
let imageRef = CGImageCreateWithImageInRect(screenshot.CGImage, crop)
if imageRef != nil {
let newImage: UIImage = UIImage(CGImage: imageRef!, scale: mainImageView.image!.scale, orientation: mainImageView.image!.imageOrientation)
let bgImage = UIImageView(image: newImage)
bgImage.center = touch
self.view.addSubview(bgImage)
self.view.bringSubviewToFront(bgImage)
}
}
}
}
关于ios - 无法快速使用 CGImageCreateWithImageInRect 裁剪触摸位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366907/
我正在开发 iPhone 的像素化应用程序。由于用 iPhone 4 相机拍摄的照片太大,因此应用程序在更新像素化图片时运行速度非常慢,因此我尝试先创建图片的图 block ,然后只更新图 block
我在 Swift 中使用 CGImageCreateWithImageInRect 在触摸位置创建部分图像的副本。 我的代码运行良好,除非用户触摸屏幕边缘并且矩形大小落在 View 框架之外。它不是返
我正在尝试将图像裁剪成正方形,但一旦我实际尝试使用 CGImageCreateWithImageInRect() 进行裁剪,此行就会崩溃。我设置了断点并确保传递给该函数的参数不为零。 我对编程和 Sw
我正在使用这个 github 图像裁剪器:https://github.com/iosdeveloper/ImageCropper 在这个图像裁剪器中,在 init 方法中有这些行: CGRect r
我的应用程序中有一个场景,我使用截取视频的屏幕截图 [myMovieController requestThumbnailImagesAtTimes:@[@(myMovieController.cur
我在使用 CGImageCreateWithImageInRect 裁剪照片时遇到了麻烦。我的应用程序让用户移动/放大图像直到它填满 316 x 316 View ,然后我希望它裁剪框外的任何区域并将
我正在尝试使用 CGImageCreateWithImageInRect 从图像中获取子图像,但它无法正常工作。它从图像中的随机位置返回图像,而不是我指定的位置。请看下图; 我的代码是: CGImag
我正在尝试剪切图像并遮盖它....我能够成功完成..但程序在几分钟后退出并显示 101 状态 - (void) maskImage { if(scopeOn==1){ UIGr
我正在尝试拍摄图像快照,对其进行裁剪并将其保存到 UIImageView。 我已经从几十个不同的方向尝试过,但这里是一般设置。 首先,我在 ARC、XCODE 7.2 下运行它,在 6Plus 手机
我的图像无法显示,我也尝试过其他图像,但只是出现空白屏幕。 UIImage *img = [[UIImage alloc] initWithContentsOfFile:@"building-demo
我试图在触摸位置复制背景图像的一部分,然后在与裁剪部分相同的位置添加 subview 。如果我做的正确,两张图片会排成一行,你无法分辨出那里有两个 UIImageView,但它最终看起来像下面的图片。
我正在尝试实现一个 iOS 相机 View ,它可以拍摄方形照片(类似于 Instagram)。我的代码出现在下面。第一部分,框架高度设置为等于框架宽度,按预期工作,并为用户提供了一个正方形的 Vie
我正在使用 CGImageCreateWithImageInRect() 从背景图像运行时生成一个小图像,它将在每次线程调用(0.01 秒)时显示。一旦我开始通过 CGImageCreateWithI
我正在尝试使用 Swift 制作一个简单的裁剪功能。我正在尝试使用 CGImageCreateWithImageInRect 函数 - 它工作完美,但质量较差。我错过了什么吗? func retri
描述我的项目: 我有一个矩形 UIImageView 框架漂浮在白色层上。在 UIImageView 内部,我成功地创造了它在白色层后面显示背景图像的一部分的错觉。您可以四处拖动矩形,它会“重新绘制”
MonoTouch 中 CGImageCreateWithImageInRect iOS 方法的等价物是什么? 我正在尝试在 C# 中转换此 Objective-C 行: CGImageRef sam
我需要在 Swift 3.0 中实现这个 Objective-C 代码(我使用的是 Xcode 8 Beta 3): // Note: this code comes from an Obj-C ca
这是关于 CGImageCreateWithImageInRect 的文档. 它以一个 CGRect 对象作为参数。据我了解,CGRect 以点为单位 但是文档说: "References the p
当我使用 CGImageCreateWithImageInRect() 创建 CGImage 时,它会创建一个比我传入的矩形高 1 像素、宽 1 像素的矩形。为什么会这样? let rect: C
我使用以下代码从 Sprite 中获取图像。除 iPhone 4(高清版)外,它在任何地方都可以正常工作。 - (UIImage *)croppedImage:(CGRect)rect { C
我是一名优秀的程序员,十分优秀!