当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Processing PImage.blend()用法及代码示例


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);
Image output for example 1
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);
Image output for example 2
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);
Image output for example 3
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);
Image output for example 4

相关用法


注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 PImage.blend()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。