當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Processing blend()用法及代碼示例


Processing, blend()用法介紹。

用法

  • blend(sx, sy, sw, sh, dx, dy, dw, dh, mode)
  • blend(src, sx, sy, sw, sh, dx, dy, dw, dh, mode)

參數

  • 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);
background(loadImage("mt-fuji.jpg"));
PImage img = loadImage("dandelions.jpg");
image(img, 0, 0);
blend(img, 0, 0, 132, 400, 268, 0, 132, 400, ADD); 
Image output for example 1
size(400,400);
background(loadImage("mt-fuji.jpg"));
PImage img = loadImage("dandelions.jpg");
image(img, 0, 0);
blend(img, 0, 0, 132, 400, 268, 0, 132, 400, SUBTRACT); 
Image output for example 2
size(400,400);
background(loadImage("mt-fuji.jpg"));
PImage img = loadImage("dandelions.jpg");
image(img, 0, 0);
blend(img, 0, 0, 132, 400, 268, 0, 132, 400, DARKEST); 
Image output for example 3
size(400,400);
background(loadImage("mt-fuji.jpg"));
PImage img = loadImage("dandelions.jpg");
image(img, 0, 0);
blend(img, 0, 0, 132, 400, 268, 0, 132, 400, LIGHTEST); 
Image output for example 4

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 blend()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。