在同样的显示尺寸的前提下,高分辨率的图像包含的像素比低分辨率的图像要多,
因此其中的像素相对来说较小。例如:1英寸见方的图像,在72ppi的分辨率下包
含了5184个像素(72×72),而同样的1英寸见方的图像,在300ppi的分辨率下包
含了90,000个像素(300×300)。高分辨率的图像通常比低分辨率图像包含更多
的细节和敏感的颜色转变。其位图文件的大小与图像的总像素尺寸是成比例的。
高分辨率的图像要开销更多的磁盘空间,图像处理与输出也需化费更多的时间。
根据这一段话,可以得到部分信息。
再来看这段帮助(是Borland的帮助里的信息)
Changing the pixel format is most commonly used with ScanLine, because
your code must decode the pixel data accessed by ScanLine. Image-editing
tools usually use one pixel for all internal image operations and copy
the results to the screen (in whatever format) as the last step.
大概意思是,所以这段代码应该有效
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
// This example shows drawing directly to the Bitmap
Byte *ptr;
try
{
pBitmap->LoadFromFile("C://Program Files//Common Files//Borland Shared//Images//Splash//256color//factory.bmp ");
for (int y = 0; y < pBitmap->Height; y++)
{
ptr = (Byte *)pBitmap->ScanLine[y];
这时ptr中的个数肯定与你说的分辨率有关,或者可以这样
int datacount=strlen((char*)ptr)/pBitmap->Width ;
}
}
catch (...)
{
ShowMessage("Could not load or alter bitmap");
}
delete pBitmap;
把上面得到的数字与你用你说的图像处理工具得到的值比较一下,看是否有
联系