Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
ВнизВопрос по Image Найти похожие ветки
← →
Свободный художник (2010-09-07 09:58) [0]Размеры размещенного Image необходимо изменять после того как при работе с канвой там уже отображен рисунок. Однако, при увеличении размеров Image на куске канвы которая появилась(при увеличении) ничего не отображается. Т.е. Увеличиваем Image, перерисовываем картинку, а на появимшеся куске канвы ничего не рисуется...он остается прозрачным. А хотелось бы чтоб рисовалось.
← →
И. Павел © (2010-09-07 10:02) [1]Наверное, придется канву пересоздавать (предварительно сохранив старую, чтобы потом ее скопировать). У меня была такая проблема - после того, как на канве что-то нарисовано, ее размеры изменить не получается. Я пересоздавал канву заново с новыми размерами.
← →
Ega23 © (2010-09-07 10:20) [2]OnPaint + F1
← →
Anatoly Podgoretsky © (2010-09-07 10:33) [3]Где код и почему ты меняешь размер TImage, а не TPicture, которое отвечает за рисование на канве?
← →
И. Павел © (2010-09-07 10:38) [4]> OnPaint + F1
Скорее всего речь идет о том, что не получается рисовать справа и снизу, после того, как размер Image увеличился. Как тут может помочь OnPaint? Если, конечно не имеете ввиду переход на PaintBox.
← →
Свободный художник (2010-09-07 10:47) [5]В посте [4]точно описано именно то что мне нужно.
[3]- image привязан к форме...изменяем размер формы...изменяется размер image. Сделано с помощью свойства align:=client;
Неужели кроме как пересоздание канвы нет другого выхода...и что в принципе означает пересоздать канву...Создать новый объект и присвоить в Image?
← →
Свободный художник (2010-09-07 10:49) [6]А в PaintBox такого эффекта не наблюдается?. И как я понимаю там такая же канва как и в Image? Может действительно лучше использовать PaintBox?
← →
И. Павел © (2010-09-07 10:57) [7]> А в PaintBox такого эффекта не наблюдается?.
Вроде бы в PaintBox все работает (изначально Width и Height у PaintBox = 15):PaintBox1.Canvas.Rectangle(1, 1, 10, 10);
PaintBox1.Canvas.Pen.Color := clRed;
PaintBox1.Width := 200;
PaintBox1.Height := 200;
Application.ProcessMessages;
PaintBox1.Canvas.Rectangle(1, 1, 100, 100);
← →
Ega23 © (2010-09-07 10:59) [8]
> Может действительно лучше использовать PaintBox?
Считай, что PaintBox - голая канва. А TImage - уже с наворотами.
← →
Юрий Зотов © (2010-09-07 11:35) [9]Посмотрите свойства Image. Он сам умеет автоматически масштабировать рисунок под свой размер, надо только выставить соответствующее свойство в true.
← →
PonosetcDM © (2010-09-07 11:37) [10]Установи сво-во Image1.stretch в true...
← →
icWasya © (2010-09-07 11:52) [11]
....OnResize(Sender:TObject);
begin
Image.Picture.Bitmap.Width:=Image.Width;
Image.Picture.Bitmap.Height:=Image.Height;
end;
← →
Свободный художник (2010-09-07 12:18) [12]Спасибо за [10] и [9], но при масштабировании рисунок искажается неизбежно. В условиях моей задачи это не подходит(например используется функция textout). Необходимо именно переисовывать. Видимо буду использовать Painbox.
Всем спасибо.
← →
Свободный художник (2010-09-07 12:21) [13]Обана. [11] пост полностью решил то что мне нужно было. Буду читать литературу. Огромное спасибо icWasya
← →
brother © (2010-09-07 12:29) [14]по [13] в [3] тебе намекали ;)
← →
Anatoly Podgoretsky © (2010-09-07 12:52) [15]> Свободный художник (07.09.2010 12:21:13) [13]
Тебе же раньше писали, а ты что делал в тот момент?
← →
Anatoly Podgoretsky © (2010-09-07 12:52) [16]
> по [13] в [3] тебе намекали ;)
Какое намекали, прямо писали.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c