![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с TBitmap
korban1 © (2006-01-27 14:53:00)Подскажите пожалуйста. У меня есть графический файл с прозрачным фоном. Я его сохраняю с помощю tbitmap( типа 1.bmp) . А вместо прозрачного фона в 1.bmp како-то чорный
В чём проблема
antonn (2006-02-02 09:39:00) [1]clampo © (02.02.06 6:53) [14]
к кому обращаешься-то? :)
clampo (2006-02-02 06:53:00) [2]Удалено модератором
clampo (2006-02-01 14:18:00) [3]Удалено модератором
clampo (2006-02-01 00:38:00) [4]Удалено модератором
korban (2006-01-29 11:36:00) [5]Спасибо за ответы. Вот оказуется в чем загвоздка: когда создаю обьект png.
Надо поменять TransparentMode. Меняю а компилятор выдает что свойсвто только для чтения read-only property. Вот описание:
In order to have more compability between Windows, TBitmap and TPNGObject features, TPNGObject introduces three different transparency modes:
None - When there are no transparent areas in the image
Bit - Each pixel may be full transparent or opaque against the background
Partial - Pixels may be translucid (semi transparent)
TPNGObject provides a read-only property to obtain the transparency mode for the image, TransparentMode property. Also changing TransparentColor property changes the image to Bit transparency mode always, loose partial transparency information.
Что можна сделать. Никак не выходит
clampo (2006-01-29 03:16:00) [6]Ндк, это понятно, что компАнент, а чё за компАнент та?
antonn (2006-01-28 21:25:00) [7]clampo © (28.01.06 20:27) [8]
а это с дополнительным компонентом идет:)
clampo (2006-01-28 20:27:00) [8]чё такое : TPNGObject ?
clampo (2006-01-28 20:26:00) [9]чё такое : TPNGObject ?
antonn (2006-01-28 19:57:00) [10]MBo © (27.01.06 16:38) [4]
у 32 битного битмапа есть 1 бит, к 3м остальным(rgb), в котором хранится альфаканал (степень прозрачности от 0 до 255), наверное это и имелось в виду.
korban © (27.01.06 22:58) [5]
а если указать битмапу, что ему нужно родиться 32 битным? :)
Bitmap.pixelformat:=pf32bit; - после рождения выставить
korban (2006-01-27 22:58:00) [11]Проблема в том что не сохраняет файл с прозрачным фоном
Вот текст
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
PNG: TPNGObject;
begin
PNG := TPNGObject.Create;
Bitmap := TBitmap.Create;
{In case something goes wrong, free booth PNG and Bitmap}
try
PNG.LoadFromFile('apply.png');
Bitmap.Assign(PNG); //Convert data into bitmap
Bitmap.SaveToFile('apply.ico');
finally
PNG.Free;
Bitmap.Free;
end;
end;
MBo (2006-01-27 16:38:00) [12]В битмапе нет прозрачного цвета.
Существует соглашение, по которому цвет левого (верхнего или нижнего, не помню) пиксела при выводе определенными способамисчитается прозрачным
korban1 (2006-01-27 15:56:00) [13]Кстати исходный png файл.
korban1 (2006-01-27 15:50:00) [14]Что исходный 32 бита это точно. А как поменять что-бы и сохраняло в 32
antonn (2006-01-27 15:09:00) [15]может исходный 32 битный, с маской.
а сохраняется 24 бита...