最近在搞乙個圖形影象的專案。不知道經理為什麼選擇了c#語言,但還是要做,呵呵。
在期間出現乙個比較難解決的問題如下:
刪除當前圖層的指定區域用來顯示下面圖層在這個區域的影象,相當於ps蒙版層的效果。
實現**如下:
bitmap tmp = new bitmap(page.imagefilename);
bitmap image = new bitmap(tmp.width, tmp.height);
graphics g = graphics.fromimage(image);
g.clear(color.transparent);
g.drawimage(tmp, 0, 0, tmp.width, tmp.height);
tmp.dispose();
g = graphics.fromimage(image);
foreach (ivobject obj in page.layers[1].vobjects)
{matrix m;
graphicspath path = new graphicspath();
switch (obj.gettype().name)
{case "rectanglevobject":
path.clearmarkers();
path.addrectangle(obj.getvobjectbounds());
m = obj.transform;
m.translate((m.offsetx * 1.33f - m.offsetx),
m.scale(1.33f, 1.33f);
path.transform(m);
g.setclip(path);
g.clear(color.transparent);
bitmap sourceimage = new bitmap(imagefilename);
bitmap image = new bitmap(sourceimage .width, sourceimage .height);
graphics g = graphics.fromimage(image);
g.clear(color.transparent);
g.drawimage(sourceimage , 0, 0, sourceimage .width, sourceimage.height);
sourceimage .dispose();
graphicspath path = new graphicspath();
rectangle r = new rectangle(x,y,w,h);
path.addrectangle(r);
g.setclip(path);
g.clear(color.transparent);
C 實現透明窗體
這篇文章不是windows mobile的,而是win32的。這篇文章主要介紹一下c 下如何呼叫windows api函式,這裡也想說一下,windows mobile程式設計不能把眼光只侷限於手機,手機與pc端相結合的程式也是很有挑戰力 很有市場的。所以,這也是我寫這篇文章的原因之一。做delph...
as3 獲取非透明區域
bitmapdata.getcolorboundsrect 0xff000000,0x00000000,false 主要方法我們用到getcolorboundsrect 來獲取非透明區域的大小getcolorboundsrect 的引數可以方便 的讓我們賽選出非透明區域 處理過程如下 bitmapd...
圓形區域的半透明填充
在圖形繪製的過程中,經常需要實現半透明的顯示效果,特別是有背景圖效果時,可以使得前景圖不會完全覆蓋背景圖,達到兩者皆可瀏覽的效果。比如我們在瀏覽一些颱風路徑的flash時,可以看到颱風的大風半徑覆蓋區域就是半透明填充效果,可以讓使用者既可以看到颱風的影響範圍,又可以看到具體的影響範圍內的陸地和海洋區...