[英]NSImage -drawAtPoint: Draws Too Small
我用這個來結合2個NSImages:
newImage = [[NSImage alloc] initWithSize:NSMakeSize(size1.width,
size1.height + size2.height)];
[newImage lockFocus];
[firimage drawAtPoint:NSMakePoint(0, 0)
fromRect:NSMakeRect(0, 0, size1.width, size1.height)
operation:NSCompositeSourceOver
fraction:1.0];
[secimage drawAtPoint:NSMakePoint(0, size1.height)
fromRect:NSMakeRect(0, 0, size2.width, size2.height)
operation:NSCompositeSourceOver
fraction:1.0];
[newImage unlockFocus];
它會產生具有適當大小的圖像(2 100x63圖像會產生100x126圖像),但兩個單獨的圖像繪制得太小,因此生成的圖像大部分是空白的:
這是原始圖像:
我看到你解決了。 在使用您的代碼時,我得到了類似的奇怪結果。 所以我開始認為我並不是真的了解這些方法。
我通常總是使用-drawInRect:fromRect:operation:fraction
,雖然我不是100%兩個rects如何影響結果,但我總是得到我需要的結果。
無論如何,我離開並制作了一個小玩具應用程序,以顯示交互式修改rects的效果(根據您的問題使用兩個圖像)。
我把它放在github上 ,你可能想看看。
正如我在評論中所說,使用-drawInRect:fromRect:operation:fraction
解決了問題!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.