小编Ada*_*dam的帖子

使用CGImageCreateWithImageInRect,UIImage和UIImagePickerController问题的好方法

我正在尝试做一些理论上应该很简单的事情,但是我现在已经追了好几天了.我正在尝试从屏幕叠加中获取触摸事件,捕获图像,并在手指触摸的位置周围裁剪出一部分图像.

现在我所有的代码都工作得很好,覆盖,事件,裁剪等....但是我似乎无法获得触摸事件的坐标系来匹配UIImage的坐标系.我已经阅读了所有可以获得的文档,我似乎无法弄明白.

我的主要问题是,在使用CGImageCreateWithImageInRect时,我是否需要考虑UIImageOrientation,或者石英算出来了吗?我问的原因是我有一个非常简单的例程,裁剪图像很好,但裁剪的图像似乎永远不会被我的手指按下?

大部分例程是:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
 UIImage *image = =[info objectForKey:@"UIImagePickerControllerOriginalImage"];
 float scaleX = image.size.width / SCREEN_WIDTH;
 float scaleY = image.size.height / SCREEN_HEIGHT;
        //lastTouch is saved from touchesBegan method
 float x = (lastTouch.x * scaleX) - (CROP_WIDTH/2);
 float y = (lastTouch.y * scaleY) - (CROP_WIDTH/2);
 if(x < 0) x = 0.0;
 if(y < 0) y = 0.0;
        CGRect cropArea = CGRectMake(x, y, CROP_WIDTH, CROP_WIDTH);
 CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], cropArea);
 UIImage *swatch = [UIImage imageWithCGImage:imageRef];

        //at …
Run Code Online (Sandbox Code Playgroud)

iphone uiimagepickercontroller uiimage

5
推荐指数
1
解决办法
1593
查看次数

标签 统计

iphone ×1

uiimage ×1

uiimagepickercontroller ×1