首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

再學 GDI+ [92]:TGPImage 調整圖像透明度 - ColorMatrix Alpha 通道控制

     編輯:Delphi

專注演示 TColorMatrix[3,3] 單一元素控制整體圖像透明度的最簡模型。

核心代碼

var ColorMatrix: TColorMatrix = ( ... ); { 單位矩陣 } 

procedure TForm1.FormPaint(Sender: TObject); 
var g: TGPGraphics; img: TGPImage; ImageAttributes: TGPImageAttributes; 
begin 
  g := TGPGraphics.Create(Canvas.Handle); 
  img := TGPImage.Create('c:\temp\test.png'); 
  ImageAttributes := TGPImageAttributes.Create; 
  
  { 關鍵:[3,3] 控制 Alpha 通道縮放 }
  ColorMatrix[3,3] := TrackBar1.Position / 100; { 0.0~1.0 }
  
  ImageAttributes.SetColorMatrix(ColorMatrix); 
  g.DrawImage(img, MakeRect(0, 0, img.GetWidth, img.GetHeight), 0, 0, img.GetWidth, img.GetHeight, UnitPixel, ImageAttributes); 
  
  ImageAttributes.Free; img.Free; g.Free; 
end;

效果圖

透明度調整效果

關鍵點

  • ColorMatrix[3,3] 對應 Alpha 通道縮放因子
  • 數值 1.0 = 原始不透明度,0.0 = 完全透明
  • 中間值實現半透明疊加效果
  • 搭配 TGPImageAttributes 套用至繪圖管線

應用場景

  • 圖像淡入淡出動畫
  • UI 元件狀態視覺化 (啟用/禁用/懸停)
  • 多圖層混合合成基礎
  • 水印透明度控制

這是 ColorMatrix 最簡單、最實用的單參數應用,理解它為掌握完整 RGBA 矩陣操作打下基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved