Дашутка
Дашутка

Delphi. Image и пиксели никак не хотят работать правильно (

На форме есть 2 объекта - Image1 и Image2, в первый предварительно загружена картинка.
Мне нужно, чтобы в Image2 появилась хотя бы часть картинки Image1, причём переносить надо по пикселям.
Если пойму, как это делать - смогу решать более сложные задачи, стоящие передо мной.
Код при создании формы:
image2.Canvas.Create;
Основной код:
var i,k:word;
c:tcolor;
begin
for i:=1 to 60 do
for k:=1 to 60 do
begin
c:=form1.Image1.Picture.Bitmap.Canvas.Pixels[i,k];
form1.image2.Picture.Bitmap.Canvas.Pixels[i,k]:=c;
end;
Но на второй картинке появляется только чёрный квадрат.
Где я ошибаюсь? Уже пробовал это задачу примерно пятью способами, на форумах лазил, со ScanLine возился.. .
Желательно конечно было бы через ScanLine сделать, но сначала хотя бы через Pixels...

Елена Селиверова
Елена Селиверова

Проверь сначала, присваивается ли пикселю C нужный цвет, может он вовсе не присваивается.

ЕС
Елена Смирнова

> Где я ошибаюсь?

Битмап картинки второго имиджа ничего не знает о характеристиках копируемого в него изображения. Как минимум ему должно быть сообщено о формате цветового кодирования (PixelFormat)

> image2.Canvas.Create;

А это вообще бессмысленная хрень.

ИК
Инна Квин

Сначала нужно создать там картинку, задать ей размеры, а потом уже переносить по пикселям. Но у канвы есть специальный метод для переноса прямоугольника на другую канву.

Похожие вопросы
Как в Delphi разобрать изображение по пикселям?
delphi. Как добавить текст на компонент Image?.Подробно.
Delphi, пиксель никак не хочет читаться, ну никак!
Delphi. Скопировать часть png в Image. Анимация спрайтов.
Как на image, на открытом изображении, поместить надпись в Delphi? или, если так нельзя, подскажите компоненты для этого
Как на image поместить надпись в Delphi? или, если так нельзя, подскажите компоненты для этого
Можете пожайлуста, проверить правильно ли работает (считает) программа в Delphi???
Delphi - как правильно?
Что в коде не правильно? (Delphi)
Delphi не работает фильтрация (хотя всё правильно вроде)