在wxpython中,怎样把一张含有透明部分的png图片加载到窗口中,透明部分依旧呈现透明? 50
1个回答
2016-05-07
展开全部
如果是直接显示图片,可以设置图片的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中文论坛上也有提问,我在那里也回答了,有问题也可以在那里讨论。毕竟度娘过于傲娇,限制多多,一不小心就抽风。不过,如果在那里讨论的话,还是请通过私信或者在这里追问的方式告诉我一声,因为我不经常访问那里。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询