Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизPixelFormat = pfDevice - как перевести в нормальный вид? Найти похожие ветки
← →
PixelFormat (2006-11-27 01:39) [0]сабж.
← →
DrPass © (2006-11-27 01:56) [1]Это он и есть. Что тебе не нравится?
← →
PixelFormat (2006-11-28 05:47) [2]Бит сколько?
← →
RASkov (2006-11-28 08:03) [3]
Bmp:=TBitMap.Create;
Bmp.LoadFromFile("name.bmp");
case Bmp.PixelFormat of
pfDevice: ShowMessage("The bitmap is stored as a device-dependent bitmap.");
pf1bit : ShowMessage("The bitmap is a device-independent bitmap with one bit per pixel (black and white palette)");
pf4bit : ShowMessage("The bitmap is a device-independent bitmap that uses a 16-color palette.");
pf8bit : ShowMessage("The bitmap is a device-independent bitmap that uses a 256color palette.");
pf15bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 15 bits per pixel (RGB compression).");
pf16bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 16 bits per pixel (bitfield compression).");
pf24bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 24 bits per pixel.");
pf32bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 32 bits per pixel (RGB compression).");
pfCustom: ShowMessage("The bitmap uses some other format. TBitmap does not support pfCustom.");
end;
← →
MBo © (2006-11-28 08:30) [4]>PixelFormat
Тебе для чего? может подойти
Bitmap.HandleType := bmDIB
>RASkov
>Bmp.LoadFromFile("name.bmp");
>case Bmp.PixelFormat of
>pfDevice: ShowMessage("The bitmap is stored as a device-dependent bitmap.");
Считаешь, что первая ветвь case может выполниться?
← →
RASkov (2006-11-28 08:36) [5]> [4] MBo © (28.11.06 08:30)
Не знаю, я из хелпа целиком скопировал, подправил, сам не пробовал...
← →
RASkov (2006-11-28 08:38) [6]> [4] MBo © (28.11.06 08:30)
А по чему бы и нет?
← →
MBo © (2006-11-28 08:47) [7]>А по чему бы и нет?
AFAIK, при загрузке из файла DIB получится, а не DDB
← →
ancara © (2006-11-28 11:26) [8]2 PixelFormat
Так тебе надо знать сколько бит в формате пикселя девайса чтоли?
юзай GetPixelFormat/DescribePixelFormat
← →
RASkov (2006-11-28 13:18) [9]> [7] MBo © (28.11.06 08:47)
Специально проверил... сработало. Картинка формата Bmp глубина цвета-32
pfDevice: ShowMessage("The bitmap is stored as a device-dependent bitmap.");
и на других.. на разных по разному.
← →
MBo © (2006-11-28 13:42) [10]>... сработало
после загрузки из файла или после создания битмапа?
uses typinfo;
var
b: TBitmap;
begin
b := TBitmap.Create;
b.Width := 10;
b.Height := 10;
b.SaveToFile("a.bmp");
Memo1.Lines.Add(GetEnumName(TypeInfo(TPixelFormat), Integer(b.PixelFormat)));
b.LoadFromFile("a.bmp");
Memo1.Lines.Add(GetEnumName(TypeInfo(TPixelFormat), Integer(b.PixelFormat)));
b.Free;
выводит
pfDevice
pf32bit
← →
RASkov (2006-11-28 14:11) [11]> [10] MBo © (28.11.06 13:42)
Я вот так проверилprocedure TForm1.Button2Click(Sender: TObject);
var Bmp: TBitMap;
begin
Bmp:=TBitMap.Create;
if OP.Execute then Bmp.LoadFromFile(OP.FileName);
case Bmp.PixelFormat of
pfDevice: ShowMessage("The bitmap is stored as a device-dependent bitmap.");
pf1bit : ShowMessage("The bitmap is a device-independent bitmap with one bit per pixel (black and white palette)");
pf4bit : ShowMessage("The bitmap is a device-independent bitmap that uses a 16-color palette.");
pf8bit : ShowMessage("The bitmap is a device-independent bitmap that uses a 256color palette.");
pf15bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 15 bits per pixel (RGB compression).");
pf16bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 16 bits per pixel (bitfield compression).");
pf24bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 24 bits per pixel.");
pf32bit : ShowMessage("The bitmap is a device-independent true-color bitmap that uses 32 bits per pixel (RGB compression).");
pfCustom: ShowMessage("The bitmap uses some other format. TBitmap does not support pfCustom.");
end;
Bmp.Free;
end;
и выбирал разные картинки(файлы *.bmp), соответственно выдавались разные мессаги в том числе и
pfDevice: ShowMessage("The bitmap is stored as a device-dependent bitmap.");
← →
RASkov (2006-11-28 14:19) [12]> [10] MBo © (28.11.06 13:42)
> typinfo
А так, кстати, да
b.Height := 10;
b.PixelFormat:=TPixelFormat(0..8);
b.SaveToFile("a.bmp");
пробовал разные... выводит все кроме pfDevice
:)
Но оно и верно, скорее у меня имются "нестандартные" картинки
← →
PixelFormat (2006-11-29 03:06) [13]Мне надо чтобы pfDevice переводилось в нормальные значения. В pf24bit pf32bit и тому подобное.
pfDevice появляется после сохранения и загрузки картинки pf32bit из потока.
← →
RASkov (2006-11-29 03:58) [14]> [13] PixelFormat (29.11.06 03:06)
Перед сохранением картинки явно указать PixelFormat ? [12]
А по другому ты его и не переведешь так как он "отдельный диапазон".
Посмотри [11] и оператор case т.е. если бы был pf32bit то он бы и был бы:) Во загнул.
← →
MBo © (2006-11-29 07:17) [15]>Мне надо чтобы pfDevice переводилось в нормальные значения. В pf24bit pf32bit и тому подобное
В [4] есть ответ
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c