Вниз
Скачать: CL | DM;

Вопрос по 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.006 c
2-1284117218
Avil
2010-09-10 15:13
2010.11.28
Изменение позиции формы одной командой


15-1282595385
Юрий
2010-08-24 00:29
2010.11.28
С днем рождения ! 24 августа 2010 вторник


2-1283949770
HF-Trade
2010-09-08 16:42
2010.11.28
IdHttp.Get Не могу получить страничку.


15-1281994189
Юрий
2010-08-17 01:29
2010.11.28
С днем рождения ! 17 августа 2010 вторник


2-1283525403
Zhen73
2010-09-03 18:50
2010.11.28
Как запустить приложение из программы и не зависить от него




   Наверх