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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
