GDI+ 灰度圖像轉換:標準亮度加權矩陣實作
灰度轉換原理 人眼對 RGB 三原色敏感度不同,標準灰度轉換使用加權平均: Gray = 0.30 * R + 0.59 * G + 0.11 * B 對應的
GDI+ 圖像透明度調整:單 TrackBar 控制 Alpha 通道實作
簡化版透明度控制 專注於單一功能:透過一個 TTrackBar 調整圖像整體透明度 (0~100%)。核心在於修改 TColorMatrix[3,3] 元素,此
GDI+ 圖像色彩與透明度矩陣調整:RGBA 四通道獨立控制
功能說明 擴展自前一範例,增加第四個 TTrackBar 控制 Alpha 通道(透明度)。透過修改 TColorMatrix 對角線元素 [0,0]、[1,1
GDI+ 即時調整 RGB 三色成分:TrackBar 互動式色彩增減實作
功能概述 利用 TColorMatrix 的平移分量(第 5 列前三欄)分別控制紅、綠、藍三通道的亮度偏移。透過三個 TTrackBar 即時調整範圍 -100
GDI+ 色彩旋轉變換:RGB 通道平面旋轉矩陣完整解析
色彩空間中的旋轉概念 將 RGB 色彩視為三維空間中的向量,繞著某一軸旋轉可產生獨特的色彩位移效果。GDI+ 的 TColorMatrix 可直接實現此類線性變
GDI+ ColorMatrix 實作色彩剪取:紅綠藍通道交叉混合技巧
色彩矩陣與剪取原理 GDI+ 的 TColorMatrix 是一個 5x5 矩陣,透過調整非對角線元素,可實現色彩通道之間的「剪取」效果——即某一通道增加其他通
列舉 GDI+ 支援的編碼器與解碼器格式完整指南
前言 雖然標題提到 TGPImage,但本範例實際展示的是如何透過 GDI+ 平面 API 列舉系統安裝的所有圖像編碼器與解碼器。這對於開發通用圖像處理工具、支
GDI+ 圖像格式 GUID 獲取指南:使用 GetEncoderClsid 函數
前言 在 .NET 中指定圖像格式通常使用格式名稱,但在 GDI+ 原生開發中,我們往往需要的是格式對應的 GUID(全域唯一識別碼)。本文將示範如何利用 GD
GDI+ 影像格式轉換:將圖片批次存為 PNG/JPEG/GIF/BMP/TIFF
前言 GDI+ 支援讀寫多種主流圖片格式。利用 GetEncoderClsid 取得目標格式的編碼器 CLSID,配合 TGPImage.Save 即可輕鬆實現
GDI+ 影像處理:使用 TGPImageAttributes 實現顏色替換
前言 GDI+ 的 TGPImageAttributes 提供強大的色彩重映射功能。透過 SetRemapTable 設定 TColorMap 陣列(舊顏色→新
GDI+ 編碼器詳解:枚舉系統所有圖片編碼器資訊
前言 與解碼器對應,GDI+ 提供 GetImageEncoders 枚舉所有可用的編碼器(即支援存檔的格式)。掌握編碼器資訊可動態構建「另存為」對話框過濾器、
GDI+ 解碼器詳解:枚舉系統所有圖片解碼器資訊
前言 GDI+ 內建多種圖片格式的解碼器。透過 GetImageDecoders 可枚舉系統註冊的所有解碼器,獲取其 CLSID、格式 ID、名稱、副檔名、MI
GDI+ 實戰:使用 TGPImage 提取 GIF 動畫每一幀並顯示
前言 GIF 動畫由多幀影像組成。GDI+ 的 TGPImage 類別提供 SelectActiveFrame 方法,配合 FrameDimensionTime
使用 SHGetSpecialFolderLocation 與 SHGetPathFromIDList 獲取 Windows 系統特殊資料夾路徑
前言 Windows 提供數十個系統特殊資料夾(桌面、我的文件、啟動目錄等),其路徑隨使用者、OS 版本而異。硬編碼路徑極不可靠。Shell API SHGet
一毫米等於多少像素?使用 GetDeviceCaps 精確計算螢幕 DPI
前言 「一毫米等於多少像素?」這不是固定值,取決於裝置的物理解析度與邏輯 DPI 設定。Windows API GetDeviceCaps 提供了查詢螢幕物理尺
Delphi 製作 DLL 復用的最佳實踐建議
前言 在企業開發中,經常需要製作動態連結庫(DLL)以實現程式碼復用。因為 Delphi 開發效率高、語法簡潔,許多團隊選擇用它來建構 DLL。然而,若忽略介面
使用 Delphi 7 呼叫新浪 Web Service 開發簡訊應用程式
Web Services 技術讓跨平台、跨語言的系統整合成為可能。雖然 Visual Studio .NET 是當時的主流開發工具,但 Delphi 從 6.0
Delphi 計算漢字筆畫數函數:基於 GB2312 區位碼查表法實現
原理:GB2312 區位碼 → 筆畫查表 GB2312 編碼將常用漢字映射為兩字節:高字節 = 區號 (1~94)、低字節 = 位號 (1~94)。內碼 = (