Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вывод части Bitmap


Страницы:   1 2 3

valussev@mail.ru ©   (2009-12-24 19:06:00) 

всем привет, возникла такая необходимость:

есть картинка в битмапе
область где должна быть выведена картинка разбита допустим на 16 равных квадратов
как сделать так, чтобы при нажатии на 1 из этих квадратов открывалась часть картинки из битмапа?

пробовал делать через массивы


pole: array[1..H, 1..W] of byte;
   ex,ey: integer; // координаты пустой клетки

   // правильное расположение клеток
   stp : array[1..H, 1..W] of byte =
   (( 1, 2, 3, 4),
    ( 5, 6, 7, 8),
    ( 9,10,11,12),
    (13,14,15, 0));

for i:=1 to H do
for j:=1 to W do
pole[i,j] := stp[i,j];

но что то не получается
заранее спасибо


Игорь Шевченко   (2009-12-25 00:36:00) [21]

Не занят   (25.12.09 00:32) [25]

Пример в студию


antonn   (2009-12-25 00:35:00) [22]

потому что сначала нужно попробывать ;)

чтобы показать кратинку отлично подходит paintbox.
преобразовать координаты клика в номера "кубиков" - простейшая операция.

зато когда речь зайдет об эффектах открытия...


Не занят   (2009-12-25 00:32:00) [23]


> Игорь Шевченко ©   (25.12.09 00:24) [23]
> Я наверное чего-то не понимаю, для отображения в DrawGrid
> исходную картинку нужно будет разбивать на части, не правда
> ли ?
> А если есть картинка, разбитая на части, почему бы не выводить
> ее сразу в битмап ?


Контрол нужен - картинку показать пользователю, отреагировать на щелчки пользователя.
В DrawGrid уже есть готовые клетки, меньше работы.
В DrawGrid из "лишнего" и "тяжелого", отличающего его от других контролов  - только эти самые клетки, которые иначе придется реализовывать самописным кодом. Почему бы не использовать?


Игорь Шевченко   (2009-12-25 00:25:00) [24]

Не занят   (25.12.09 00:23) [22]

TMemo - для чтения строк из файла. Невидимый. Memo.Lines.LoadFromFile, обработка, Memo.Lines.SaveToFile


Игорь Шевченко   (2009-12-25 00:24:00) [25]

Я наверное чего-то не понимаю, для отображения в DrawGrid исходную картинку нужно будет разбивать на части, не правда ли ?
А если есть картинка, разбитая на части, почему бы не выводить ее сразу в битмап ?


Не занят   (2009-12-25 00:23:00) [26]


> а мне есть с чем сравнивать.
> Игорь хороший пример привел с Tmemo, из пушки по воробьям


TMemo - для показа и редактирования текста.
DrawGrid - для рисования клеток.


antonn   (2009-12-25 00:17:00) [27]


> А с тобой спорить - не много ли для тебя чести будет?

отличный способ вести беседу, сразу чувствуется уважение и опыт.


Amoeba   (2009-12-25 00:16:00) [28]


> antonn ©   (25.12.09 00:08) [16]
>
> хочешь поспорить? :)
> много саперов делал? :)

Делал куда более сложные вещи. А с тобой спорить - не много ли для тебя чести будет?


antonn   (2009-12-25 00:15:00) [29]


> Ты бы взял и сам сделал для сравнения на DrawGrid. Ничего
> сложного. Заодно бы опыта и новых знаний набрался и свою
> квалификацию повысил. Сам бы себе пользу принес.

а мне есть с чем сравнивать.
Игорь хороший пример привел с Tmemo, из пушки по воробьям


Amoeba   (2009-12-25 00:14:00) [30]


> antonn ©   (24.12.09 23:56) [14]
>
> Я свой код дал, сделайте на DrawGrid, как это будет выглядеть
> идеально. Пожаааалуйста :)

Можно подумать, что у меня сейчас нет дел более важных, нежели заниматься написанием хоть и простенького, не ненужного мне кода. В свое время программировал аналогичную, но существенно более сложную задачу именно на основе DrawGrid.

Ты бы взял и сам сделал для сравнения на DrawGrid. Ничего сложного. Заодно бы опыта и новых знаний набрался и свою квалификацию повысил. Сам бы себе пользу принес.

А теперь заканчиваю дискуссию и пойду дописывать серьезную научную статью.


Игорь Шевченко   (2009-12-25 00:09:00) [31]

А для загрузки строк из файла нужно использовать TMemo


antonn   (2009-12-25 00:08:00) [32]

хочешь поспорить? :)
много саперов делал? :)


Amoeba   (2009-12-25 00:03:00) [33]


> antonn ©   (24.12.09 23:42) [11]
>
> сапера удобнее и быстрее рисовать прям на битмапе, DrawGrid
> костыль какой-то для этих дел...

Не смеши народ!


antonn   (2009-12-24 23:56:00) [34]

Я свой код дал, сделайте на DrawGrid, как это будет выглядеть идеально. Пожаааалуйста :)


{RASkov}   (2009-12-24 23:55:00) [35]

DrawGrid +1


Не занят   (2009-12-24 23:50:00) [36]

Если реагирует на щелчки, значит и есть контрол. DrawGrid идеально подходит под задачу.


antonn   (2009-12-24 23:42:00) [37]

сапера удобнее и быстрее рисовать прям на битмапе, DrawGrid костыль какой-то для этих дел...

сабж - http://desksoft.ru/index.php?downloads=attachments&id=247(373кб)


Amoeba   (2009-12-24 23:34:00) [38]


> antonn ©   (24.12.09 23:15) [9]
>
> Зачем использовать для этого контрол, да еще такой тяжеловесный?
>

И чего в нем тяжеловесного?

По-твоему, его следует использовать только ввода и отображения табличных данных, хранящихся в каком-либо контейнере?

Этот контрол идеально подходит, например, для написания собственного "Сапёра".
И для задач, подобным рассматриваемой, он также очень удобен.


antonn   (2009-12-24 23:15:00) [39]

Зачем использовать для этого контрол, да еще такой тяжеловесный?


Amoeba   (2009-12-24 23:00:00) [40]


> Омлет ©   (24.12.09 22:43) [7]
>
> > Все можно сделать предельно просто. Отрисовывать нужные
> > части картинки в ячейках DrawGrid ...
>
> весело )))

А что не так? Как раз случай использовать этот компонент по назначению. Не вижу причин для иронии.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо