|
Вопрос # 5 518/ вопрос решён / |
|
Доброго времени суток, уважаемые эксперты! подскажите пожалуйста как
в изображения добавить ссылочные надписи? Что для этого нужно сделать? Изображения добавлены в TImage.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
 |
Вопрос задал: Димон (статус: Посетитель)
Вопрос отправлен: 22 июля 2011, 09:47
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 114; последнее сообщение — 25 июля 2011, 07:49; участников в обсуждении: 6.
Страницы: [1] [2] [3] [4] [5] [6] [Следующая »]
|
Димон (статус: Посетитель), 22 июля 2011, 09:49 [#1]:
Изображений будет очень много и на каждую нужно будет добавлять такие ссылки
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 09:53 [#2]:
TImage тут совсем не при делах. Ссылки и дествия по нажатию на мих мышой и другую сопутствующую инфу надо будет где-то хранить вместе с картинкой. А посему, тут надо изобретать свой формат файла и писать редактор для таких файлов.
Ты уверен, что это всё тебе надо?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Димон (статус: Посетитель), 22 июля 2011, 09:55 [#3]:
Да я уверен, поскольку это мой диплом. Кто чем может подскажите. Может кто то создавал эти редакторы и изобретал собственные форматы изображений. Я в графике вообще чайник
|
|
DNK (статус: Студент), 22 июля 2011, 10:04 [#4]:
Димон: Тебе нужно изменить само изображение?
"Digital Networked Knight"
|
|
Димон (статус: Посетитель), 22 июля 2011, 10:07 [#5]:
Мне нужно в изображение добавить ссылки. по сути min@y прав. Нужно создавать собственный формат изображений с хранением дополнительной информации, но у меня такое впервые.
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 10:15 [#6]:
Цитата (Димон):
Нужно создавать собственный формат изображений с хранением дополнительной информации, но у меня такое впервые.
Ну и в чём проблема? Берём изображение (пусть будет JPEG), пишем в файл его размеры, затем само изображение, а в конец цепляем XML-дерево со всей нужной инфой. Дёшево и сердито.
При показе такой картинки заносим из файла изображение в TImage, а на лежащем поверх него TPaintBox рисуем ссылки и другую нужную лабуду из XML.
Для всего этого проще написать свой класс, который будет заниматься:
а) загрузкой из файла,
б) хранением в памяти,
ц) сохранением в файл,
д) отрисовкой инфы на TCanvas.
Вот примерно так я себе это представляю.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 10:24 [#7]:
Хотя, можно вообще TImage выкинуть, чтобы изображение не торчало в памяти 2 раза, а рисовать всё на TPaintBox. Как-то так.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Димон (статус: Посетитель), 22 июля 2011, 10:25 [#8]:
min@y, а у Вас нету хотя бы каких нибудь примеров??? если есть помогите пожалуйста
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 11:16 [#9]:
Цитата (Димон):
а у Вас нету хотя бы каких нибудь примеров???
Примеров какого плана?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Димон (статус: Посетитель), 22 июля 2011, 11:49 [#10]:
В плане собственного формата изображения с привязкой доп. информации. Или изображения с привязкой XML
|
|
Димон (статус: Посетитель), 22 июля 2011, 12:29 [#11]:
Хотя для изображений с привязкой к хмл будет неплохо, если их будет немного, на мой взгляд,а если их миллион то придется каждый раз программно менять координаты, чтобы обвести нужную область. А если делать изображение со ссылками в собственном формате тогда наверно этого не нужно будет делать. Может я ошибаюсь
|
|
Вадим К (статус: Академик), 22 июля 2011, 12:50 [#12]:
На самом деле ничего изобретать не нужно - все уже изобретено до нас - есть такой формат (правда он векторый) - svg, но вот только к делфи для него компонент мало. нужно будет писать свой.
Но вот смотрю я на приложенный скриншот и думаю, может просто эмуляция рабочего стола нужна?
Но есть ещё проще решение
Посмотрите на это http://rusws.ru/imagecard/ (там картинка с ссылками). Если это подходит, то кто мешает поставить на форму Webbrouser и вперед
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 13:10 [#13]:
Цитата (Димон):
В плане собственного формата изображения с привязкой доп. информации. Или изображения с привязкой XML
Нет, я никогда не привязывал таким образом изображения к XML. Однако, это совсем не значит, что я не смогу это написать часа за 4 с перекурами, если это действительно мне понадобится. По сравнению с выкрутасами, которые мне приходится изобретать по работе, это сущая ерунда, поверь.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 13:15 [#14]:
Кстати, вот посмотри мой ответ на один из вопросов. Я на него потратил целый рабочий день просто из интереса: слабО мне или нет. И это было сложнее твоей задачи.
З.Ы. Не реклама!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Димон (статус: Посетитель), 22 июля 2011, 13:17 [#15]:
Нет, Вадим это не эмуляция рабочего стола. Это просто пример. По поводу картинки с ссылками что Вы прислали мне, очень хорошо, но есть нюанс, если масштаб изображения изменится, а ссылки останутся на тех же местах, то как быть??? Возьмем к примеру составляющие бытовой техники например утюга ссылка http://www.mukhin.ru/stroysovet/electro/images/049.jpg
Там показаны цифры. Это обычное изображение. А вот с ним надо сделать так чтобы при наводке мышью на цифру она становилась выделенной в рамке а при клике по ней мышью рамка окрашивалась, и так с каждой цифрой, только при клике на другую цифру прежняя возвращалась в свое обычное состояние(не выделена) а выделенная связывалась с нужной записью равную по значению выделенной цифры
|
|
Димон (статус: Посетитель), 22 июля 2011, 13:20 [#16]:
min@y я не сказал что вы не можете, более того я вам + в репутацию отметил, потому что вы откликнулись и здорово подсказываете. Я не хотел Вас обидеть. А насчет примера, я просто думал что может у вас есть хоть какой кусочек кода или какие то ссылки для создания собственного формата изображения
|
|
Вадим К (статус: Академик), 22 июля 2011, 13:38 [#17]:
Цитата (Димон):
если масштаб изображения изменится, а ссылки останутся на тех же местах, то как быть??? как как? отмасштабировать и координаты ссылок. Элементарная геометрия.
Как сделать, что бы определялись координаты? это не очень сложно, реализуется с помощью слоя-маски.
Припустим, что для всех чисел есть прямоугольник-регион (круг/треугольник - не важно). Делаем следующее - создаем в памяти TBitmap такого же размера, как и картинка и на нем разными цветами рисуем эти регионы. Так как эту картинку показывать никому не нужно (ну разве только для отладки), то нужно выставить битность для картинки - 32бита и номер цвета будет совпадать с номерком на картинке.
А теперь главный финт. Когда пользователь водит/кликает по картинке, берем координаты мыши и смотрим в нашу картинку-маску. Если цвет пикселя для этих координат черный (то есть 0) - значит там ничего нет, если какой то другой - значит есть регион. По цвету легко определяем номер и параметры региона (можно отрисовать/выделить/показать хинт).
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 13:51 [#18]:
Цитата (Димон):
если масштаб изображения изменится, а ссылки останутся на тех же местах, то как быть???
Дык координаты-то должны храниться в файле вместе с картинкой, причём они должны быть ОТНОСИТЕЛЬНЫЕ! При изменении масштаба координаты пересчитываются, а только потом отрисовывается сама картинка и инфа на картинке. Элементарно.
Цитата (Димон):
А насчет примера, я просто думал что может у вас есть хоть какой кусочек кода или какие то ссылки для создания собственного формата изображения
Нет, по твоей теме у меня нету ничего, не было необходимости создавать что-то подобное. Будет такая задача - создам. И ты пойми, это не собственный формат изображения, а собственный формат файла. Это разные вещи.
Можно (нужно) даже написать свой класс-наследник от TPaintBox или TCustomPanel, который помимо загрузки, хранения, отрисовки всей этой лабуды будет реагировать на движения и клики мыши именно так, как ты тут расписал.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Димон (статус: Посетитель), 22 июля 2011, 14:09 [#19]:
min@y спасибо Вам большое. Чем могли-помогли. Осталось сломать голову как это все воплощать. Мысли есть знаний нет(((((
|
|
min@y™ (статус: Доктор наук), 22 июля 2011, 14:22 [#20]:
Цитата (Димон):
Осталось сломать голову как это все воплощать. Мысли есть знаний нет(((((
Ну, для начала разбей задачу на подзадачи.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Страницы: [1] [2] [3] [4] [5] [6] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|