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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。