В чём отличия tshape от timage?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

В чём отличия tshape от timage?

Сообщение yantux » 03.02.2011 02:47:54

Я так понимаю, отличия заключаются только в том, что tshape теоритически должен занимать меньше ресурсов!
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: В чём отличия tshape от timage?

Сообщение Vadim » 03.02.2011 06:54:55

yantux
В TShape уже встроено рисование некоторых графических примитивов - овал, квадрат и т.п. У TImage ничего подобного нет, там надо рисовать на канве самостоятельно. Это главное отличие. Все остальные отличия - сущие пустяки. :)
Последний раз редактировалось Vadim 06.02.2011 04:34:02, всего редактировалось 1 раз.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: В чём отличия tshape от timage?

Сообщение yantux » 04.02.2011 00:54:29

Vadim писал(а):yantux
В TShare уже встроено рисование некоторых графических примитивов - овал, квадрат и т.п. У TImage ничего подобного нет, там надо рисовать на канве самостоятельно. Это главное отличие. Все остальные отличия - сущие пустяки. :)

Ну как же нет? В timage есь canvas, разве не так?
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: В чём отличия tshape от timage?

Сообщение Mr.Smart » 04.02.2011 01:01:49

Canvas есть много где, если чё :wink:
А если так, то совершенно разные компоненты и предназначены они для разных целей! Если честно то TShare это атавизм пришедший из Delphi! ИМХО.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: В чём отличия tshape от timage?

Сообщение Vadim » 04.02.2011 11:16:17

yantux
:D
Canvas - это то, на чём рисуют. Холст, по другому говоря. А я Вам говорил о наличии готовых встроенных процедур рисования, которые автоматически рисуют примитив на этой самой канве. У других компонентов автоматически ничего не рисуется, для рисования Вы сами должны, вручную, задать рисование чего-либо.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: В чём отличия tshape от timage?

Сообщение yantux » 05.02.2011 22:58:07

Vadim писал(а):yantux
:D
Canvas - это то, на чём рисуют. Холст, по другому говоря. А я Вам говорил о наличии готовых встроенных процедур рисования, которые автоматически рисуют примитив на этой самой канве. У других компонентов автоматически ничего не рисуется, для рисования Вы сами должны, вручную, задать рисование чего-либо.


Т.е. у TShare есть свои уникальные нужные фишки, которые есть только у него, но нет у других? Где об этом можно почитать? Мне то кажется, что canvas есть везде и я не вижу ни чего особенного в TShare, но если чтото есть и это можно использовать с пользой, то есть ли дока по этому поводу?

Добавлено спустя 40 секунд:
Mr.Smart писал(а):Canvas есть много где, если чё :wink:
А если так, то совершенно разные компоненты и предназначены они для разных целей! Если честно то TShare это атавизм пришедший из Delphi! ИМХО.


Т.е. вы считате, что TShare устраел и не рекомендуете его использовать?
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: В чём отличия tshape от timage?

Сообщение Mr.Smart » 05.02.2011 23:51:27

yantux я считаю, что он не только устаревший, но и совершенно ненужный.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: В чём отличия tshape от timage?

Сообщение ViTality » 06.02.2011 00:12:48

Vadim писал(а):TShare

:arrow: TShape :evil:
ViTality
постоялец
 
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Re: В чём отличия tshape от timage?

Сообщение yantux » 06.02.2011 03:25:03

ViTality писал(а):
Vadim писал(а):TShare

:arrow: TShape :evil:


Да, да, да... TShape!
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: В чём отличия tshape от timage?

Сообщение Vadim » 06.02.2011 04:50:13

yantux писал(а):Т.е. у TShare есть свои уникальные нужные фишки, которые есть только у него, но нет у других?

Особенность TShape в том, что у него эти функции вызываются автоматически, при создании (или при переопределении) компонента, в зависимости от того, какую фигуру Вы задали при проектировании. Это единственная фишка TShape. В принципе, ничего уникального тут нет, т.к. у любого компонента, у которого есть доступный Canvas можно сделать аналогичную фишку в событии OnCreate.
yantux писал(а):Где об этом можно почитать?

1. В хелпе по Delphi. (Кто бы мог подумать, не правда ли? :) )
2. В любой книге по Delphi, в которой есть описание компонента. Однако хочу сразу же предостеречь, что подробное описание этого компонента Вы нигде не найдёте, т.к. он никогда не пользовался особой популярностью именно в силу банальности того, что он делает.

По поводу использования с пользой. :)
Когда-то давно я делал одному чуваку диплом именно на этих компонентах. TShape использовались в качестве набора таскаемых по форме электронных компонентов (транзисторы, резисторы, конденсаторы и т.п.) и соединений между ними, дабы при перемещении компонентов не затирать их изображения на канве вручную. Да и как их перемещать по форме, чтобы это было явно видно, я по другому не придумал. :)
Соответственно, в слегка изменённом классе TShape были переопределены фигуры рисования по умолчанию и процедуры, которые их рисуют.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

Рейтинг@Mail.ru