Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько простых вопросов.


RRRA ©   (2002-01-11 20:11:00) 

1.Как сохранить *.jpg файл в *.bmp файл средствами Делфи?
2.Есть код:
image.Picture.Bitmap.Canvas.Pixels[x,y]
for i:=0 to image.Picture.Bitmap.Width-1 do
for j:=0 to image.Picture.Bitmap.Height-1 do color:=image.Picture.Bitmap.Canvas.Pixels[i,j];
listbox1.items.add(inttostr(color));
то цвета пикселей (в listbox1) будут выглядеть примерно так: 16744576, 16777215. Что это такое? В смысле, что это за цифры? И каким образом можно еще переработать параметр color (кроме inttostr(color))? Когда я говорю "переработать", подразумеваю перевод значения color в какое-то строковое значение.
3. При выполнение выше указанного кода почему-то закрашивается вся форма цветами bitmapa? Почему так происходит и как этого избежать?
Зы Заранее благодарен.


dima1111   (2002-01-14 09:57:00) [1]

Вот ответ на первый вопрос:

uses jpeg;

procedure jpg2bmp;
var j:tjpegImage;
b:tbitmap;
begin
j:=tjpegImage.create;
b:=tbitmap.Create;
j.LoadFromFile("c:\banan.jpg");
b.Assign(j);
b.SaveToFile("c:\banan.bmp");
end;


2. Посмотри описание типа TColor
это четырехбайтовое число. Младший байт отвечает за насыщенность красного, второй за зеленый а третий за синий.
А узнать что это за число можно разбив его на байты. еще проще сконвертить его в шестнадцатиричное число. В случае числа 16744576 это будет FF8080 т.е. насыщеность красного и зеленого 80h, а синего 255.

3. Все дело в строке
color:=image.Picture.Bitmap.Canvas.Pixels[i,j];
т.к. "color:=" это ты у формы свойство color меняешь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо