日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何用DELPHI区分彩色图和黑白图(多色与单色)??

發布時間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用DELPHI区分彩色图和黑白图(多色与单色)?? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如何用DELPHI區分彩色圖和黑白圖(多色與單色)?? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061104175303177.html
如何用DELPHI區分彩色圖和黑白圖(多色與單色)?? ?
? 如何用DELPHI區分彩色圖和黑白圖(多色與單色)?? ?
?

急呀,幫忙呀

查一查整個圖像上每一個像素的顏色的RGB分量不就行了嗎? ?
? 只要某個點的R,G,B分量不相等, ? 就是有彩色.

圖片信息參看圖片格式

scanline。 ?
? 枚舉象素,如果有一個象素是彩色的,那就退出。 ?
? ?
? 如果全是黑白2色,那就是單色了

臨時寫了個,還沒試過。 ?
? ?
? function ? IsBlackAndWhiteGraphic(G: ? TGraphic): ? Boolean; ?
? type ?
? ? ? PRGBTripleArray ? = ? ^TRGBTripleArray; ?
? ? ? TRGBTripleArray ? = ? array[0..32767] ? of ? TRGBTriple; ?
? ? ? function ? GetSLColor(pRGB: ? TRGBTriple): ? TColor; ?
? ? ? begin ?
? ? ? ? ? Result ? := ? RGB(pRGB.rgbtRed, ? pRGB.rgbtGreen, ? pRGB.rgbtBlue); ?
? ? ? end; ?
? var ?
? ? ? p: ? PRGBTripleArray; ?
? ? ? x, ? y: ? Integer; ?
? ? ? Bitmap: ? TBitmap; ?
? begin ?
? ? ? Result:= ? True; ?
? ? ? Bitmap:= ? TBitmap.Create; ?
? ? ? try ?
? ? ? ? ? Bitmap.PixelFormat:= ? pf24bit; ?
? ? ? ? ? Bitmap.Width:= ? G.Width; ?
? ? ? ? ? Bitmap.Height:= ? G.Height; ?
? ? ? ? ? Bitmap.Canvas.Draw(0,0,G); ?
? ?
? ? ? ? ? for ? y ? := ? 0 ? to ? Bitmap.Height ? - ? 1 ? do ?
? ? ? ? ? begin ?
? ? ? ? ? ? ? p:= ? Bitmap.ScanLine[y]; ?
? ? ? ? ? ? ? for ? x ? := ? 0 ? to ? (Bitmap.Width ? - ? 1) ? do ?
? ? ? ? ? ? ? begin ?
? ? ? ? ? ? ? ? ? if ? (GetSLColor(p[x]) ? <> ? clBlack) ? and ? (GetSLColor(p[x]) ? <> ? clWhite) ? then ?
? ? ? ? ? ? ? ? ? begin ?
? ? ? ? ? ? ? ? ? ? ? Result:= ? False; ?
? ? ? ? ? ? ? ? ? ? ? Break; ?
? ? ? ? ? ? ? ? ? end; ?
? ? ? ? ? ? ? end; ?
? ? ? ? ? end; ?
? ?
? ? ? finally ?
? ? ? ? ? Bitmap.Free; ?
? ? ? end; ?
? end;

多色,單色的區別只要在 ?
? if ? (GetSLColor(p[x]) ? <> ? clBlack) ? and ? (GetSLColor(p[x]) ? <> ? clWhite) ? then ?
? 做判斷就可以了。 ?
?

樓上的 ? 看過 ? 灰度圖么。。

var ?
? ? ? Bitmap: ? TBitmap; ?
? begin ?
? ? ? Bitmap ? := ? TBitmap.Create; ?
? ? ? Bitmap.LoadFormFile('c:\1.bmp'); ?
? ? ? if ? Bitmap.Monochrome ? then ?
? ? ? ? ? ShowMessage('黑白'); ?
? ? ? Bitmap.Free; ?
? end; ?
?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的如何用DELPHI区分彩色图和黑白图(多色与单色)??的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。