Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Canvas не прорисовывает за экраном  [new]
Serg123555
Guest
Рисую на канве в компоненте TImage прямоугольники в автоматическом режиме.
Для прокрутки положил TImage на TSCrollBox, после прорисовки на ScrollBox добавляю TLabel, чтобы появился ползунок.
Координаты прямоугольников рассчитываются автоматически.
Если прямоугольник выходит за границы экрана, то прорисовывается та часть, которая входит в экран, все что за экраном, не прорисовывается.

Вопрос - что сделать, чтобы Canvas прорисовался за границами экрана?
29 сен 17, 12:55    [20831484]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
schi
Member

Откуда: Москва
Сообщений: 2348
Serg123555
Рисую на канве в компоненте TImage прямоугольники в автоматическом режиме.
Для прокрутки положил TImage на TSCrollBox, после прорисовки на ScrollBox добавляю TLabel, чтобы появился ползунок.
Координаты прямоугольников рассчитываются автоматически.
Если прямоугольник выходит за границы экрана, то прорисовывается та часть, которая входит в экран, все что за экраном, не прорисовывается.

Вопрос - что сделать, чтобы Canvas прорисовался за границами экрана?


Рисовать в промежуточный bitmap, например.
29 сен 17, 13:14    [20831549]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Serg123555
Guest
Менее экстравагантные варианты есть?
29 сен 17, 15:06    [20831950]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
Serg123555
Менее экстравагантные варианты есть?

использовать прорисовку сначала на битмапе,
а потом целиком вывести его в Image - это для тебя экстравагантный вариант ?

Может быть, программирование - это не для тебя ?
29 сен 17, 15:34    [20832045]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Квейд
Member

Откуда: Kyiv, Ukraine
Сообщений: 5047
Serg123555
Рисую на канве в компоненте TImage прямоугольники в автоматическом режиме.
Для прокрутки положил TImage на TSCrollBox, после прорисовки на ScrollBox добавляю TLabel, чтобы появился ползунок.
Координаты прямоугольников рассчитываются автоматически.
Если прямоугольник выходит за границы экрана, то прорисовывается та часть, которая входит в экран, все что за экраном, не прорисовывается.

Вопрос - что сделать, чтобы Canvas прорисовался за границами экрана?
Рисовать на TPaintBox, для начала.
Далее, если ты рисуешь в перекрытом TImage.Paint, то все должно прорисовываться правильно при любых раскладах.
Скорее всего, у тебя ошибка в 17 строке.

schi
Рисовать в промежуточный bitmap, например.


TImage.Canvas это и есть битмап, смотри реализацию GetCanvas
29 сен 17, 15:42    [20832075]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
Квейд
schi
Рисовать в промежуточный bitmap, например.


TImage.Canvas это и есть битмап, смотри реализацию GetCanvas


у TImage нет канваса TImage.Canvas
29 сен 17, 15:49    [20832101]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
defecator
Квейд
пропущено...


TImage.Canvas это и есть битмап, смотри реализацию GetCanvas


у TImage нет канваса TImage.Canvas

хотя нет, в новых дельфях есть.
Не пользуюсь TImage, забыл
29 сен 17, 15:51    [20832108]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Невезучий
Member

Откуда:
Сообщений: 45809
У меня всего одна строка, которая гоняется в цикле

  Image1.Canvas.Rectangle(X0, Y0, X1, Y1);
29 сен 17, 15:57    [20832133]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
Невезучий
У меня всего одна строка, которая гоняется в цикле

  Image1.Canvas.Rectangle(X0, Y0, X1, Y1);

Ну вот, а зачем из-под серого ника Serg123555 писал ? ))))
29 сен 17, 16:16    [20832191]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 6912
Serg123555
Вопрос - что сделать, чтобы Canvas прорисовался за границами экрана?
Можно примерчик того, как должна выглядеть прорисовка "за границами экрана"?
У меня единственная гипотеза - на стене.
29 сен 17, 17:44    [20832387]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
Serg123555
Менее экстравагантные варианты есть?
а чем не нравится?
У меня такое решение было.
В потоке рисовал, подкладывал на скрин.
было очень гладко.
30 сен 17, 02:24    [20832990]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
Makar4ik
Serg123555
Менее экстравагантные варианты есть?
а чем не нравится?
У меня такое решение было.
В потоке рисовал, подкладывал на скрин.
было очень гладко.
ещё во времена 2-х ядерных машин.
А теперь - сам бог велел отрисовать в потоке...
30 сен 17, 02:29    [20832993]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
Makar4ik
Makar4ik
пропущено...
а чем не нравится?
У меня такое решение было.
В потоке рисовал, подкладывал на скрин.
было очень гладко.
ещё во времена 2-х ядерных машин.
А теперь - сам бог велел отрисовать в потоке...

зачем пихать потоки, если можно обойтись без них ?
просто, чтобы было ?
30 сен 17, 06:37    [20833027]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
defecator
Makar4ik
пропущено...
ещё во времена 2-х ядерных машин.
А теперь - сам бог велел отрисовать в потоке...

зачем пихать потоки, если можно обойтись без них ?
просто, чтобы было ?
если можно, то и не нать...
Но если папа не запретил, и отрисовать в битмап есть смысл...
то...
...Папа не запретил. Можно.
30 сен 17, 06:49    [20833028]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2677
defecator
Makar4ik
пропущено...
ещё во времена 2-х ядерных машин.
А теперь - сам бог велел отрисовать в потоке...

зачем пихать потоки, если можно обойтись без них ?
просто, чтобы было ?
ну и да, как вариант, "чтобы было"
и "чтобы я умел это делать, и стоил бы дороже на рынке".
30 сен 17, 06:53    [20833030]     Ответить | Цитировать Сообщить модератору
 Re: Canvas не прорисовывает за экраном  [new]
defecator
Member

Откуда:
Сообщений: 35393
Makar4ik
defecator
пропущено...

зачем пихать потоки, если можно обойтись без них ?
просто, чтобы было ?
ну и да, как вариант, "чтобы было"
и "чтобы я умел это делать, и стоил бы дороже на рынке".

какое ещё "дороже рынка" ?
умение работать с потоками - одно из базовых
30 сен 17, 08:02    [20833039]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить