用Delphi直接获取bmp图片的像素,并存储显示出。(此像素主要用在LED上显示)。希望高手能给出代码啊!!

2025-05-14 06:50:05
推荐回答(4个)
回答1:

function getImagePixels(f: string): Integer;
var
jpg: TJpegImage;
bmp: TBitmap;
begin
Result := 0;
if not FileExists(f) then
Exit;

if SameText(ExtractFileExt(f), '.bmp') then
begin
bmp := TBitmap.Create;
try
bmp.LoadFromFile(f);
Result := bmp.Width * bmp.Height;
finally
FreeAndNil(bmp);
end;
end
else if SameText(ExtractFileExt(f), '.jpg') then
begin
jpg := TJpegImage.Create;
try
jpg.LoadFromFile(f);
Result := jpg.Width * jpg.Height;
finally
FreeAndNil(jpg);
end;
end;
end;

回答2:

获取图像数据,关键是组BMP数据,如果数据是组成的标准BMP格式数据,那显示很容的。用一个视屏显示函数就OK,具体我记不清楚了,你可以搜一下“摄像头控制”相关方面的内容。

回答3:

这是示例,看看吧,主要是带注释的那一行
...
bm : TBitmap;
clr : TColor;
x, y : Integer;
...
bm.LoadFromFile( filename );
....
clr := bm.Canvas.Pixels[ x, y ]; //这里是取出 y 行 x 列处的像素颜色值
...
bm.Free;

回答4:

同求,希望有结果交流交流,我也想知道怎么对图片获取像素,希望不是二进制的