인사말! 문제가있어서 인터넷 검색 결과가 없습니다 ...NSView에서 이미지 렌더링하기 : cacheDisplayInRect는 일반적인 drawRect 호출과 달리 투명 영역을 그립니다.
NSView (하위 클래스)에 drawRect 메서드를 구현하여 그림자 및 반투명 채우기를 구현했습니다. 모든 것이 멋지다! 하지만 지금은 드래그 & 드롭 목적으로 NSView (스냅 샷 만들기)에서 NSImage를 생성해야합니다.
이 방법은 효과가 있지만 약간 다른 방식으로 그려집니다.
왜? NSGraphicContext 다른 옵션 때문에? 도움이나 조언이 필요합니다! 여기
는 NSView의에서 NSImage를 얻는 코드입니다 : 비교하는 이미지를 시각적으로
- (NSImage *)makeImageSnapshot {
NSSize imgSize = self.bounds.size;
NSBitmapImageRep * bir = [self bitmapImageRepForCachingDisplayInRect:[self bounds]];
[bir setSize:imgSize];
[self cacheDisplayInRect:[self bounds] toBitmapImageRep:bir];
NSImage* image = [[[NSImage alloc] initWithSize:imgSize] autorelease];
[image addRepresentation:bir];
return image;
}
그리고 현재 위치 :
- 정상 -의 drawRect 보통의 호출에 의해 그려진 : 나쁜 http://cl.ly/image/213C1Y1V0v2H
- - NSImage에 캡처 됨 : http://cl.ly/image/183q442S2J14
차이점은 아주 작게 보일지도 모른다고 생각합니다. 응용 프로그램을 사용하는 동안 명백합니다. 나는 왜 그런 일이 일어나는지를 털어 놓지 않습니다. 그리고 누군가가 도울 수 있기를 바랍니다.
미리 감사드립니다!
링크가 작동하지 않습니다. 그 이미지들을 다시 가져다 주시겠습니까? 질문 자체에 그것들을 첨부하는 것이 가장 좋을 것입니다. 감사! – 7cows
죄송합니다, 실수로 영구적으로 삭제했습니다. – UJey