Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.038 c
2-1164726603
PitTong
2006-11-28 18:10
2006.12.17
Текстовый редактор


3-1160399469
ildarkh
2006-10-09 17:11
2006.12.17
DBExpress, Синхронная запись


15-1164479682
DillerXX
2006-11-25 21:34
2006.12.17
Экслер - История безнадежно женатого человека


15-1164535465
Чапаев
2006-11-26 13:04
2006.12.17
Шуточка от Борланда


15-1164326626
Бугага
2006-11-24 03:03
2006.12.17
Газзаев: "ЦСКА проиграл, а виноват «Луч-Энергия»