我想這將是相當簡單的,但它似乎不是這樣的。C4剪切圖像一些奇怪的事情發生
事情試圖裁剪這樣的圖像時,我注意到:
#import "C4Workspace.h"
@implementation C4WorkSpace{
C4Image *image;
C4Image *copiedImage;
}
-(void)setup {
image=[C4Image imageNamed:@"C4Sky.png"];
//image.width=200;
image.origin=CGPointMake(0, 20);
C4Log(@" image width %f", image.width);
//[self.canvas addImage:image];
copiedImage=[C4Image imageWithImage:image];
[copiedImage crop:CGRectMake(50, 0, 200, 200)];
copiedImage.origin=CGPointMake(0, 220);
[self.canvas addObjects:@[image, copiedImage]];
C4Log(@"copied image width %f", copiedImage.width);
}
@end
起源CGRectMake(x和y座標)沒有從左上角開始,而是從左下角和高度上升,而不是下降。
裁剪圖像的尺寸實際上與原始圖像相同。我想這個圖像並不真正被剪裁,而只是被蒙上了一層?
不同尺度在上面的例子中,我其實並沒有指定任何規模,但原來和裁剪後的圖像不具有相同的比例。爲什麼?
實際上,我不知道這個功能如何能有用在所有然後...看來,這實際上更有意義,進入原始圖像數據裁剪圖像的某些部分,而不是有猜測哪個區域已被剪切/掩蓋,讓我知道確切的圖像實際上依然存在,
也許我做錯了什麼? (我找不到任何修剪圖像的例子,所以這就是我所做的...)
感謝特拉維斯!關於2: 我不會稱之爲功能。如果我只想顯示圖像的一部分,我只會屏蔽該圖像,但不會裁剪它。所以我認爲這是一個錯誤,而不是一個功能。 在我的情況下,我實際上需要在我的應用程序中處理大約30幅裁剪後的圖像。所以我真的需要裁剪圖像。目前我可以看到2個解決方法: 1。製作一個新的圖像,逐個像素地瀏覽舊的圖像,只複製我需要的圖像。 2.將圖像的一部分保存到應用程序文檔目錄並從那裏重新加載。 我會看看兩種方法。稍後發佈新問題 – suMi
哦。我剛剛看到你實際上已經給我在這裏的解決方案: http://stackoverflow.com/questions/19490227/c4-saving-part-of-an-image/19528248?noredirect=1#19528248 – suMi
由功能,我意思是C4的api本身......這是一種設計模式,因爲所有的濾鏡都直接在圖像上工作...所以'crop:'是Core Image API的一個特性,應該可以保持一個特徵,工作方式它現在呢,在C4 API ... –