Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.041 c
2-1164657571
vasIzmax
2006-11-27 22:59
2006.12.17
Монитор


2-1164628470
Cooller
2006-11-27 14:54
2006.12.17
Наименьший делитель


15-1164589479
vasIzmax
2006-11-27 04:04
2006.12.17
Кто-нибудь это видел


3-1160502902
Lexa11_2002
2006-10-10 21:55
2006.12.17
Помогите написать запрос


15-1164264232
Юрий С.А.
2006-11-23 09:43
2006.12.17
Русский язык





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский