今天找各種資料,總算解決了bmp在安卓下把背景色設為透明了~
直接上**:
private colormatrix cm;
private paint paint2;
cm = new colormatrix(new float);
paint2.setcolorfilter(new colormatrixcolorfilter(cm));
canvas.drawbitmap(bmp, 0,0,paint2);
paint類有個函式為setcolorfiliter,裡面可以設定為new colormatrixcolorfilter(cm),這個引數是指將顏色矩陣cm參與原來的點陣圖bmp計算
計算過程如下:
r' = a*r + b*g + c*b + d*a + e;
g' = f*r + g*g + h*b + i*a + j;
b' = k*r + l*g + m*b + n*a + o;
a' = p*r + q*g + r*b + s*a + t;
這裡我的bmp背景色為黑色,所以黑色的a'值應調為0,其他顏色的alpha值為1,黑色的rgb為(0,0,0),所以將p,q,r的值設定為1,s,t的值設定為0,代入公式得a『=0
而其他的顏色因為rgb不全為0,所以a』的值計算後為1,這樣便將bmp的背景黑色設為透明色了,其他的背景色可以參照這個設定(如紅色背景:p+s+t = 0;此時也得考慮黑色的情況不透明,s+t=1.即p=-1,t=0,s=1,q=1,r=1可行)
設定某一行背景顏色的CListCtrl
三個介面函式,設定某一行的文字顏色 前景色 和背景色,使用說明都放在注釋裡了,自己看吧 linecolorlistctrl.h if defined afx linecolorlistctrl h 92eb1cd4 cd33 4e02 a098 367a8feff38e included defin...
java的list裡設定某一項
list list new arraylist mapmember new hashmap member.put key a member.put value 1 list.add member member new hashmap member.put key b member.put value...
QT中設定QTreeWidget某一列可編輯
大家都知道,在qt中,qtreewidget都是qtreewidgetitem的形式來組織的,也就是說如果單獨設定屬性的話,可以使得某一行可以編輯或者不可編輯 qtreewidgetitem setflags qt itemisenabled qt itemisselectable qt itemi...