java 缩放函数drawImage理解(个人总结)

时间:2021-09-11 03:03:37

drawImage
public abstract boolean drawImage(Image
img,
                                 
int
dx1,
                                 
int
dy1,
                                 
int
dx2,
                                 
int
dy2,
                                 
int
sx1,
                                 
int
sy1,
                                 
int
sx2,
                                 
int
sy2,
                                 
ImageObserver
observer)

绘制当前可用的指定图像的指定区域,动态地缩放图像使其符合目标绘制表面的指定区域。

透明像素不影响该处已存在的像素。
此方法在任何情况下都立刻返回,甚至在要绘制的图像区域没有针对当前输出设备完成缩放、抖动或转换的情况下也是如此。

如果当前的输出表示形式尚未完成,则
drawImage 返回
false。随着更多的图像可用,加载图像的进程将通知指定的图像观察者。

此方法总是用非缩放的图像来呈现缩放的矩形,并且动态地执行所需的缩放。

此操作不使用缓存的缩放图像。执行图像从源到目标的缩放:源矩形的第一个坐标被映射到目标矩形的第一个坐标,第二个源坐标被映射到第二个目标坐标

。按需要缩放和翻转子图像以保持这些映射关系。

参数:
img
- 要绘制的指定图像。如果 img 为 null,则此方法不执行任何操作。
dx1 - 目标矩形第一个角的 x 坐标。
dy1 -
目标矩形第一个角的 y 坐标。
dx2 - 目标矩形第二个角的 x 坐标。
dy2 - 目标矩形第二个角的 y 坐标。
sx1 -
源矩形第一个角的 x 坐标。
sy1 - 源矩形第一个角的 y 坐标。
sx2 - 源矩形第二个角的 x 坐标。
sy2 - 源矩形第二个角的
y 坐标。
observer - 当缩放并转换了更多图像时要通知的对象。
返回:
如果图像像素仍在改变,则返回 false;否则返回
true。

个人理解:后面四个源矩形坐标,是截取本身的某个部分,坐标是相对图像本身即(0,0,width,height)。

    而前面的坐标是相对界面,放置位置。