如何正確判斷圖檔是彩色還是黑白 |
尚未結案
|
HK168
一般會員 發表:2 回覆:2 積分:0 註冊:2004-08-08 發送簡訊給我 |
因為我們公司的圖檔位元深度(bit depths)
彩色都是24bit
黑白都是8 bit
所以我想以這個邏輯來判斷色彩
我參考我這篇(C Builder的)
http://delphi.ktop.com.tw/topic.php?topic_id=35869
改寫成Delphi的,但我拿這個function去run我彩色圖片的資料夾
結果都告訴我圖片都不是彩色(回傳值都是false)
救命呀!
程式碼如下: function getIsColor(FileName:String):Boolean;
var jpgimg:TJPEGImage;
rs:Boolean;
bmp:TBitmap;
begin
rs:=false;
bmp:=TBitmap.Create;
jpgimg:=TJPEGImage.Create;
jpgimg.LoadFromFile(FileName);
bmp.Assign(jpgimg);
if bmp.PixelFormat=pf24bit then
begin
rs:=true;
end;
end;
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
HK168
一般會員 發表:2 回覆:2 積分:0 註冊:2004-08-08 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
HK168
一般會員 發表:2 回覆:2 積分:0 註冊:2004-08-08 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Pal: TMaxLogPalette; i: Integer; begin GetPaletteEntries(Image1.Picture.Bitmap.Palette,0,256,Pal.palPalEntry[0]); Memo1.Lines.Clear; for i:=0 to 255 do begin Memo1.Lines.Add('R:' IntToStr(Pal.palPalEntry[i].peRed) #9 'G:' IntToStr(Pal.palPalEntry[i].peGreen) #9 'B:' IntToStr(Pal.palPalEntry[i].peBlue)) end; end; end. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |