在java中方法drawImage()的參數詳細解釋
在drawImage時可以指定大小,自動縮放,還可以是過濾,參看我給的參考連接。
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
ImageObrver obrver)繪制指定圖像中已縮放到適合指定矩形內部的圖像。
圖像繪制在此圖形上下文坐標空間的指定矩形內部,并且如果需要,則進行縮放。透明像素不影響該處已存在的像素。
此方法在任何情況下都立刻返回,甚至在整個圖像沒有為當前輸出設備完成縮放、抖動或轉換的情況下也是如此。如果當前的輸出表示尚未完成,則 drawImage 返回 fal。隨著更多的圖像可用,裝入圖像的進程將通過調用圖像觀察者的 imageUpdate 方法來通知它。
圖像的縮放版本不一定立刻是可用的,因為已經為此輸出設備構造了圖像的非縮放版本。每種大小的圖像可以被分別緩存,并由各自圖像產生序列中的原始數據生成。
參數:
img - 要繪制的指定圖像。如果 img 為 null,則此方法不執行任何動作。
x - x 坐標。
y - y 坐標。
width - 矩形的寬度。
height - 矩形的高度。
obrver - 當轉換了更多圖像時要通知的對象。
使用DrawImage方法實現圖像尺寸縮小操作。
把圖像等比例擴大或縮小尺寸步驟如下:
1、打開ai的軟件,執行菜單欄中文件—新建,或者直接使用快捷鍵Ctrl+N新建一個畫布。
2、選擇工具箱中的心形工具,將填充設置為紅色,描邊設置為無
3、然后鼠標點擊拖動不放,上下方向鍵控制角度的多少,我們畫出一個的類似太陽的圖形,如下圖所示。選擇我們來講這個圖形縮小或者是放大。
4、選擇工具箱中的選擇工具,選中這個圖形,我們可以在四周看到一個方框,這個方框上每邊都有三個錨點。如下圖所示。
5、我們將鼠標放到錨點上,我們可以看到一個兩個方向的箭頭,直接點擊向圖形移動就是縮小,遠離圖形就是放大。
JAVA的drawImage方法
(1)
//首先add一個Panel
Frame
frm=new
Frame();
Panel
temp=new
Panel();
frm.tLayout(new
BorderLayout());
//可以省略,Frame默認就是BorderLayout
frm.add("Center",temp);
frm.tVisible(true);
//獲得temp在frm內的位置坐標
Point
p=temp.getPosition();
frm.remove(temp);
frm.getGraphics().drawImage(圖,p.x,p.y,frm);
(2)
只要實現了ImageObrver接口的類都可以作為drawImage(Image
i,int
x,int
y,ImageObrver
obrver)的最后一個實參
詳見API文檔
請問g.drawImage(im,260,10,280,220,this)各個參數是什么意思?
是Graphics類中的一個方法:drawImage(Image img, int x, int y, int width, int height, ImageObrver obrver) 繪制指定圖像中已縮放到適合指定矩形內部的圖像;而ImageObrver用于在構造 Image 時,接收有關 Image 信息通知的異步更新接口。也就是
im是圖像對象,260是x軸開始位置,10是y軸開始位置,280是寬大小,220是高大小,obrver - 轉換了更多圖像時要通知的對象。
drawimage 怎么把兩個圖片合到一個畫布上實現多層繪制???
可以在canvas當中先畫背景圖片,再畫另一個圖片,然后保存圖片。
因為背景圖片在css當中設置,所以你得到的背景是白板。必須是在canvas當中的圖片才會一起保存。
也可以使用HTML2canvas插件實現。
MFC 在使用GDI+中函數DrawImage,如何清除上一次畫的圖像?
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!展開全部
(第一次回答問題,希望能拿到分)
PNG的透明效果是通過Alpha混合實現的,通常情況下,Alpha混合使用下面的計算公式:
Dest = Src * (Alpha/255) + Dest * (1-Alpha/255) 【公式1】
變量說明:
Dest 目標像素的RGB值
Src 源像素的RGB值,在這里PNG就是源
Alpha 源像素的Alpha通道值
在Windows編程中,使用函數AlphaBlend實現Alpha混合,但是該函數的Alpha混合公式為:
Dest = Src + Dest * (1-Alpha/255) 【公式2】
(注:實際情況要稍微復雜一點,公式2只是其中一個特例,但也是最常用的一個特例。完整的計算公式參見MSDN中AlphaBlend的幫助)
公式2中,源沒有乘以Alpha值,而是直接疊加至目標,顯示效果會比公式1亮一些。
因此結論就出來了:
暗一些的蝴蝶使用了公式1
亮一些的蝴蝶使用了公式2(AlphaBlend函數)。下圖是調用AlphaBlend的效果:非常感謝您的耐心觀看,如有幫助請采納,祝生活愉快!謝謝!