Главная страница
    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.045 c
2-1165066866
Roxvil
2006-12-02 16:41
2006.12.17
TEdit


2-1164540453
doncova1
2006-11-26 14:27
2006.12.17
как изменить заглавие столбцов таблицы


2-1164580781
PixelFormat
2006-11-27 01:39
2006.12.17
PixelFormat = pfDevice - как перевести в нормальный вид?


15-1164379997
IMHO
2006-11-24 17:53
2006.12.17
Слово об информации


2-1164636182
Фёдр_иваныч
2006-11-27 17:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский