나는 이것이 다소 솔직하게 앞으로 나아갈 것이라고 생각했지만 그렇지 않은 것 같았다.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에서 ... –