Processing, 类PImage
中的blend()
用法介绍。
用法
pimg.blend(sx, sy, sw, sh, dx, dy, dw, dh, mode)
pimg.blend(src, sx, sy, sw, sh, dx, dy, dw, dh, mode)
参数
pimg
(PImage)
任何 PImage 类型的对象src
(PImage)
引用源图像的图像变量sx
(int)
源左上角的 X 坐标sy
(int)
源左上角的 Y 坐标sw
(int)
源图像宽度sh
(int)
源图像高度dx
(int)
目的地左上角的X坐标dy
(int)
目的地左上角的Y坐标dw
(int)
目标图像宽度dh
(int)
目标图像高度mode
(int)
混合、添加、减法、最亮、最暗、差异、排除、乘法、屏幕、叠加、HARD_LIGHT、SOFT_LIGHT、闪避、燃烧
返回
void
说明
将像素区域混合到由img
参数指定的图像中。这些副本利用完整的 Alpha 通道支持和以下模式的选择,将源像素 (A) 的颜色与目标图像 (B) 中的像素颜色混合:
BLEND - 颜色的线性插值:C = A*factor + B
ADD - 与白色夹子的加法混合:C = min(A*factor + B, 255)
SUBTRACT - 与黑色剪辑的减法混合:C = max(B - A*factor,
0)
DARKEST - 只有最深的颜色成功:C = min(A*factor, B)
LIGHTEST - 只有最亮的颜色成功:C = max(A*factor, B)
差异 - 从底层图像中减去颜色。
排除 - 类似于差异,但不那么极端。
MULTIPLY - 将颜色相乘,结果总是更暗。
SCREEN - 相反乘法,使用颜色的逆值。
叠加 - 乘法和屏幕的混合。将暗值相乘,并屏蔽亮值。
HARD_LIGHT - 大于 50% 灰色时屏幕显示,较低时倍增。
SOFT_LIGHT - 最暗和最亮的混合。像 OVERLAY 一样工作,但没有那么苛刻。
道奇 - 减轻浅色调并增加对比度,忽略黑暗。在 Illustrator 和 Photoshop 中称为 "Color Dodge"。
BURN - 应用较暗的区域,增加对比度,忽略灯光。在 Illustrator 和 Photoshop 中称为 "Color Burn"。
所有模式都使用源图像像素的 alpha 信息(最高字节)作为混合因子。如果源区域和目标区域的大小不同,图像将自动调整大小以匹配目标大小。如果不使用srcImg
参数,则将显示窗口用作源图像。
从 0149 版开始,此函数将忽略 imageMode()
。
例子
size(400,400);
PImage mountain = loadImage("mt-fuji.jpg");
PImage dandelions = loadImage("dandelions.jpg");
mountain.blend(dandelions, 0, 0, 132, 400, 268, 0, 132, 400, ADD);
image(mountain, 0, 0);
image(dandelions, 0, 0);
size(400,400);
PImage mountain = loadImage("mt-fuji.jpg");
PImage dandelions = loadImage("dandelions.jpg");
mountain.blend(dandelions, 0, 0, 132, 400, 268, 0, 132, 400, SUBTRACT);
image(mountain, 0, 0);
image(dandelions, 0, 0);
size(400,400);
PImage mountain = loadImage("mt-fuji.jpg");
PImage dandelions = loadImage("dandelions.jpg");
mountain.blend(dandelions, 0, 0, 132, 400, 268, 0, 132, 400, DARKEST);
image(mountain, 0, 0);
image(dandelions, 0, 0);
size(400,400);
PImage mountain = loadImage("mt-fuji.jpg");
PImage dandelions = loadImage("dandelions.jpg");
mountain.blend(dandelions, 0, 0, 132, 400, 268, 0, 132, 400, LIGHTEST);
image(mountain, 0, 0);
image(dandelions, 0, 0);
相关用法
- Processing PImage.pixels[]用法及代码示例
- Processing PImage.resize()用法及代码示例
- Processing PImage.width用法及代码示例
- Processing PImage.get()用法及代码示例
- Processing PImage.set()用法及代码示例
- Processing PImage.save()用法及代码示例
- Processing PImage.loadPixels()用法及代码示例
- Processing PImage.filter()用法及代码示例
- Processing PImage.updatePixels()用法及代码示例
- Processing PImage.mask()用法及代码示例
- Processing PImage.copy()用法及代码示例
- Processing PImage.height用法及代码示例
- Processing PImage用法及代码示例
- Processing PI用法及代码示例
- Processing Pulse用法及代码示例
- Processing PShader用法及代码示例
- Processing PVector.set()用法及代码示例
- Processing PShape.enableStyle()用法及代码示例
- Processing PVector.mag()用法及代码示例
- Processing PWM.set()用法及代码示例
- Processing PVector.normalize()用法及代码示例
- Processing PVector.limit()用法及代码示例
- Processing PShape用法及代码示例
- Processing PFont.list()用法及代码示例
- Processing PVector.div()用法及代码示例
注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 PImage.blend()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。