2012-05-11 52 views
0

今天道歉了這麼多問題,週五死亡的腦症狀在設置CoreImage CICrop返回爲0x0像素的圖像

我有一個CICrop過濾器:

[crop setValue:beginImage forKey:@"inputImage"]; //give the crop filter the beginImage 
    [crop setValue:[CIVector vectorWithX:0.0f Y:0.0f Z:_exportSize W:_exportSize] forKey:@"inputRectangle"]; //give the filter the size to crop to 
    croppedImage = [crop valueForKey:@"outputImage"]; //set the output image, note it's still a CIImage at this point 

可悲的是,它不工作。它裁剪的圖像最終爲0x0像素。 _exportSize(它是CGFloat)的快速NSLog顯示它是1024,但日誌顯示圖像後期裁剪爲0x0。我無法弄清楚爲什麼。

此代碼之前工作。唯一的區別是,我認爲,我曾經裁剪UIImage沒有CIImages。我寧願不必轉換,因爲我打算在裁剪之後做其他CoreImage內容。

正如我所說,_exportSize是一個CGFloat _exportSize;並記錄它揭示它1024.0000。

任何想法?

乾杯。

回答

2

在我放棄了與核心映像裁剪和用這個代替結束:

-(UIImage *)imageByCropping:(UIImage *)imageToCrop toRect:(CGRect)rect 
{ 
    CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect); 

    UIImage *cropped = [UIImage imageWithCGImage:imageRef]; 
    CGImageRelease(imageRef); 

    return cropped; 
} 
0

嘗試

[crop setValue:[CIVector vectorWithX:0.0f Y:0.0f Z:_exportSize.width W:_exportSize.height] forKey:@"inputRectangle"];

,而不是

[crop setValue:[CIVector vectorWithX:0.0f Y:0.0f Z:_exportSize W:_exportSize] forKey:@"inputRectangle"];

幫助URL http://gigliwood.com/weblog/Cocoa/Core_Image,_part_2.html

Z的應該是寬度
W被認爲是高度

希望它有幫助。

+0

你好。 _exportSize是一個CGFloat,它沒有寬度或高度屬性。但感謝發佈。我無法弄清楚問題在哪裏。 – mrEmpty

相關問題