在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的效果:非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!