Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];
ВнизImage - глюк Найти похожие ветки
← →
Глеб © (2004-06-08 11:04) [0]Уважаемые МАСТЕРА! У меня возникла следующая проблема:
на форме есть TScrollBox. На нём в align=alClient растянут Image.
Когда я во время работы программы пытаюсь прорисовать на канве изображение,
то при прокрутке TScrollBox та часть, которая не была видна во время рисования,
остаётся незакрашенной. Что мне нужно добавить?
i := -2;
while i <= image8.width do
begin
j := -10;
while j <= image8.Height do
begin
image8.Canvas.Draw(i, j, bitmap);
inc(j, 20);
end;
inc(i, 20);
end;
(битмап - это клетка, с помощью которой я рисую клетчатое поле)
← →
Семен Сорокин © (2004-06-08 11:07) [1]рисуй на TPaintBox в событии OnPaint.
← →
Глеб © (2004-06-09 03:52) [2]Нет, так не пойдёт!
← →
ЮЮ © (2004-06-09 04:29) [3]А по какому событию ты рисуешь? Возможно, ты нарисовал ещё до того, как Image растянулся на весь ScrollBox. Более того, разиеры image.Picture и image вовсе не обязаны быть одинаковыми, поэтому рисование на канвасе вне пределов Picture нигде не сохранится
← →
Mim1 © (2004-06-09 04:39) [4]Не знаю что у вас там с прорисовкой, но чтобы картинка прокручивалась нормально надо что бы ее размер был больше чем клиентская область скролбокса, для этого наиболее подходит не align = alclient а autosize := true;
← →
Глеб © (2004-06-09 10:29) [5]дело в том, что я рисую на канве.
и я рисую несколько рисунков, прилегающих друг к другу.
← →
ЮЮ © (2004-06-10 05:02) [6]Дело в том, что размеры канвы и Image.Picture.Bitmap-а разные и то что не попадает в область последнего нигде не сохраняется.
← →
Глеб © (2004-06-12 09:00) [7]
> Дело в том, что размеры канвы и Image.Picture.Bitmap-а разные
> и то что не попадает в область последнего нигде не сохраняется.
Разве Picture и Canvas чем-то могут быть связаны? Это же разные объекты!
Canvas - TCanvas, Picture - TPicture!
← →
ZZZubec © (2004-06-12 10:22) [8]Всё что рисуется на канве - лишь временно.
К примеру: достаточно на канве формы нарисовать какой-нить рисунок, а затем любым другим окном провести по форме, рисунок тут же пропадет, так как ты рисунок рисуешь один раз, а его стоит рисовать каждый раз по событию OnPaint.
← →
AVK (2004-06-12 10:32) [9]Если все таки не использовать TPaintBox, то может стоит рисовать на Image8.Picture.Bitmap.Canvas ?
Пробуй так:
i := -2;
while i < image8.Picture.Width do
begin
j := -10;
while j < image8.Picture.Height do
begin
Image8.Picture.Bitmap.Canvas.Draw(i, j, bitmap);
inc(j, 20);
end;
inc(i, 20);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c