在wxpython中,怎样把一张含有透明部分的png图片加载到窗口中,透明部分依旧呈现透明?
答案:1 悬赏:50 手机版
解决时间 2021-01-24 22:17
- 提问者网友:鐵馬踏冰河
- 2021-01-24 12:20
在wxpython中,怎样把一张含有透明部分的png图片加载到窗口中,透明部分依旧呈现透明?
最佳答案
- 五星知识达人网友:鱼忧
- 2021-01-24 13:37
如果是直接显示图片,可以设置图片的Alpha通道数据来实现透明:
[I,map,alpha] = imread('im.png');
h = imshow(I);
set(h,'AlphaData',alpha)
但对于控件而言,只能通过CData属性指定图像数据,而没有指定透明度的手段,所以,要想实现透明效果,只能在读图片时把透明色以控件的背景色代替。例如:
BG = get(gcf,'defaultuicontrolback');
[I,map] = imread('im.png','BackgroundColor',BG);
希望对题主有帮助,有问题可追问。
另,看到题主在MATLAB中文论坛上也有提问,我在那里也回答了,有问题也可以在那里讨论。毕竟度娘过于傲娇,限制多多,一不小心就抽风。不过,如果在那里讨论的话,还是请通过私信或者在这里追问的方式告诉我一声,因为我不经常访问那里。
[I,map,alpha] = imread('im.png');
h = imshow(I);
set(h,'AlphaData',alpha)
但对于控件而言,只能通过CData属性指定图像数据,而没有指定透明度的手段,所以,要想实现透明效果,只能在读图片时把透明色以控件的背景色代替。例如:
BG = get(gcf,'defaultuicontrolback');
[I,map] = imread('im.png','BackgroundColor',BG);
希望对题主有帮助,有问题可追问。
另,看到题主在MATLAB中文论坛上也有提问,我在那里也回答了,有问题也可以在那里讨论。毕竟度娘过于傲娇,限制多多,一不小心就抽风。不过,如果在那里讨论的话,还是请通过私信或者在这里追问的方式告诉我一声,因为我不经常访问那里。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯