簡體   English   中英

NSImage -drawAtPoint:畫得太小

[英]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圖像),但兩個單獨的圖像繪制得太小,因此生成的圖像大部分是空白的:

截圖

這是原始圖像:

圖片1圖2

我看到你解決了。 在使用您的代碼時,我得到了類似的奇怪結果。 所以我開始認為我並不是真的了解這些方法。

我通常總是使用-drawInRect:fromRect:operation:fraction ,雖然我不是100%兩個rects如何影響結果,但我總是得到我需要的結果。

無論如何,我離開並制作了一個小玩具應用程序,以顯示交互式修改rects的效果(根據您的問題使用兩個圖像)。

我把它放在github上 ,你可能想看看。

正如我在評論中所說,使用-drawInRect:fromRect:operation:fraction解決了問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM