Teoride çok basit olması gereken bir şey yapmaya çalışıyorum ama günler boyunca kuyruğumu takip ediyorum. Ekran kaplamasından bir dokunma olayı almaya çalışıyorum, bir görüntü yakalayın ve parmağınızın dokunduğu bir resmin çevresini kırpıyorum.CGImageCreateWithImageInRect, UIImage ve UIImagePickerController sorularının kullanılması için iyi bir yol
Artık tüm kodum düzgün çalışıyor, kaplama, olaylar, kırpma vb. .... ancak UIImage'ın koordinat sistemi ile eşleşmesi için dokunma olayının koordinat sistemini göremiyorum. Ellerimi açabileceğim tüm belgeleri okudum, anlayamıyorum.
Ana sorum şu, CGImageCreateWithImageInRect'i kullanırken UIImageOrientation'ı dikkate almam gerekir mi, yoksa quartz bunu çözüyor mu? Sormamın nedeni, görüntüleri kırpmak için çok basit bir rutine sahibim, ancak kırpılmış görüntü parmağımın basıldığı yer değil midir?
rutin toplu geçerli:
-(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 this point I'm just writing the images to the photo album to see if
//my crop is lining up with my touch
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
UIImageWriteToSavedPhotosAlbum(swatch, nil, nil, nil);
}
Peki, sorun (benim fotoğraf albümü görüldüğü gibi) benim kırpılmış alan asla ben basın fiili alanını (her zaman diğer bazı rasgele parçası maçları olmasıdır (fotoğrafın), bu da bana koordinat sistemimin kapalı olduğunu gösteriyor.
Henüz bulunmadığım bazı dokümanlar için işaretçiler olsa bile, herhangi bir işaretçi çok memnun olur.
Alkış Adam