![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ряд простых вопросов. [D5, Win95/98]
Анатолий © (2002-01-12 14:29:00)Ряд простых вопросов.
1. В Image1 грузится файл *.jpg. Как теперь *.jpg сохранить в *.bmp.
2. Вот код:
image1.Picture.Bitmap.Canvas.Pixels[x,y];
for i:=0 to image1.Picture.Bitmap.Width-1 do begin
for j:=0 to image1.Picture.Bitmap.Height-1 do begin
color1:=image1.Picture.Bitmap.Canvas.Pixels[i,j];
listbox1.items.add(inttostr(color1));
В данном случае идет речь о файле, который грузится в image1. Соответсвенно чем больше файл тем дольше будет идти "выдергивание" информации о цвете пикселей. А вот вопрос. Если загрузить файл размером 120*120 в image1 размером 40*40 (при этом stretch:=true), то отсортировка такой маленькой картинки пройдет быстрее, т.к основные цвета останутся, но размер самой картинки существнно изменится. Но, как известно, при выше указанном коде, "выдергивается" информация из большой картинки (120*120), а как бы сделать, чтобы сканировалась именно маленькая картинка 40*40.
Заранее спасибо!
TonnyS (2002-01-14 13:55:00) [1]по вопросу 1: создаёш Image2, потом:
image2.picture.Bitmap.Assign(image1.picture.Graphic);
image2.Picture.Graphic.SaveToFile("filename.bmp");
по второму: ListBox1.add - очень медленная операция, она и тормозит процесс. Лучше в текстовый файл записать или в поток, а потом Listbox1.items.LoadFromFile() - значительно быстрее.