我有幾個png,我將它們彼此重疊以在beginGraphicsContextWithOptions中形成單個圖像....但是,我想用透明度繪製一些這些圖像。我該怎麼做?用透明度繪製圖像
Q
用透明度繪製圖像
1
A
回答
0
這裏是你將如何覆蓋與transparancy圖片:
NSString* file1 = "your images file path";
NSRect largerect = NSRectMake(10,10,300,300);
NSString* file2 = "your images file path";
NSString* file3 = "your images file path";
NSString* file4 = "your images file path";
NSImage* img1 = [[NSImage alloc] initWithContentsOfFile:file1];
NSImage* img2 = [[NSImage alloc] initWithContentsOfFile:file1];
NSImage* img3 = [[NSImage alloc] initWithContentsOfFile:file1];
NSImage* img4 = [[NSImage alloc] initWithContentsOfFile:file1];
//the fraction parameter is just how transparent you want it so 1.0 is opaque and 0.0 you will not see the image
[image1 drawInRect: largeRect
fromRect: NSZeroRect
operation: NSCompositeSourceOver
fraction: 0.8];
[image2 drawInRect: largeRect
fromRect: NSZeroRect
operation: NSCompositeSourceOver
fraction: 0.6];
[image1 drawInRect: smallRect1
fromRect: NSZeroRect
operation: NSCompositeSourceOver
fraction: 0.40];
[image2 drawInRect: smallRect2
fromRect: NSZeroRect
operation: NSCompositeSourceOver
fraction: 0.40];
+0
對不起,這是一個iOS問題,但你的答案確實讓我再次檢查文檔,UIImage現在有一個混合模式的方法與一個alpha組件 – RunLoop
+0
哦,我很抱歉! –
相關問題
- 1. 繪製透明圖像
- 2. 繪製透明圖像
- 3. 繪製透明圖像不起作用
- 4. Android繪製透明度
- 5. WxWidgets繪製不透明度的位圖
- 6. Java Graphics2D - 使用漸變不透明度繪製圖像
- 7. 使用Graphics.DrawImage()繪製透明度/ Alpha通道圖像
- 8. 如何使用透明度繪製PNG圖像輪廓(邊框)
- 9. Java Graphics2D繪製透明色的圖像
- 10. 在WinForms上繪製透明圖像
- 11. 使用透明度繪製矩形
- 12. 透明圖像始終在畫布上。背後繪製透明圖像
- 13. 如何繪製像使用CGContextClearRect繪製透明矩形的透明圓形
- 14. 如何繪製位圖,但不繪製透明像素?
- 15. 圖像透明度差
- 16. php png圖像透明度
- 17. Android圖像透明度
- 18. Tkinter圖像透明度
- 19. 設置圖像透明度
- 20. FXML圖像透明度
- 21. 移除圖像透明度
- 22. opencv在另一個圖像上繪製透明圖像
- 23. 用半透明視圖繪製陰影
- 24. UIImageView使用不透明繪圖和透明背景繪圖
- 25. 繪製透明線?
- 26. Android - 不透明度淡化可繪製
- 27. 設置可繪製的不透明度
- 28. pygame中的繪製表面透明度?
- 29. IImageList->繪製 - 損壞的透明度
- 30. 在opengl es中繪製透明度2
你想,當你將它們結合起來,還是你剛纔的意思是使用透明的圖像已經有一個alpha應用到圖像? – Ian
圖像沒有透明度。當我繪製圖像時,我想選擇性地將透明度應用於某些圖像。 – RunLoop
我會做的是建立一個目標緩衝區,將每個圖像展開到它自己的緩衝區中,一次一個像素地循環顯示圖像數據,將像素寫入目標緩衝區(根據你想要的alpha進行混合並且已經有了什麼),然後創建一個新的上下文,並使用目標緩衝區來繪製一個新的CGImage,用它創建一個新的UIImage,並且應該這樣做。我現在超級累,但星期一我會在辦公室,我有一些可以幫助你的代碼。這應該至少讓你知道你可能從哪裏開始。祝你好運! – Ian