0
我想用Fx函數做一些顏色轉換,但它不起作用。使用Fx函數在Magick.NET中進行顏色轉換
如果我使用Fx的函數
"rgb((1-u.r)*255,128,128)"
內該表達式的結果是黑色圖像。實際的轉換比較複雜,但我不能讓這個簡單的轉換工作。
如果我使用
"rgb(0,128,128)"
結果是如預期普通彩色圖像。
我的表情可能存在一些根本錯誤,但我看不到它。有誰能夠幫助我?
我想用Fx函數做一些顏色轉換,但它不起作用。使用Fx函數在Magick.NET中進行顏色轉換
如果我使用Fx的函數
"rgb((1-u.r)*255,128,128)"
內該表達式的結果是黑色圖像。實際的轉換比較複雜,但我不能讓這個簡單的轉換工作。
如果我使用
"rgb(0,128,128)"
結果是如預期普通彩色圖像。
我的表情可能存在一些根本錯誤,但我看不到它。有誰能夠幫助我?
在fx中使用rgb(...)僅用於指定唯一顏色而不用於計算。你將不得不這樣做:
using (MagickImage image = new MagickImage("Input.png"))
{
// Evaluate is faster if you just want to set a pixel to a value
image.Evaluate(Channels.Green | Channels.Blue, EvaluateOperator.Set, 128);
image.Fx("(1-u.r)*255", Channels.Red);
image.Write("Output.png");
}