Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Подключение Других Файлов и еще...


Автор: fayzulakhan 15.5.2012, 22:24
Добрый Вечер !
Ув.Форумчане , не могли бы вы мне подсказать 

Есть всего два вопроса:

1.Возможно ли с помощью JS подключать файлы созданные на Delphi 

2.Не могли бы вы подсказать как и с помощью чего (возможно есть уже библиотеки) рисовать на JS  электрические схемы 

3.Если можно скинуть полное описание Canvas в JS

Заранее Большое Спасибо 
С Ув. fayzulakhan!

Автор: Aliance 16.5.2012, 09:38
Цитата(fayzulakhan @  15.5.2012,  23:24 Найти цитируемый пост)
2.Не могли бы вы подсказать как и с помощью чего (возможно есть уже библиотеки) рисовать на JS  электрические схемы

Не очень понимаю, что такое "электрические схемы", но в любом случае рисование в JS осуществляется с помощью canvas`а. Посмотрите библиотеку Raphael.


M
Aliance
Пожалуйста, один топик - один вопрос.

Автор: iff 16.5.2012, 14:23
Цитата(fayzulakhan @  15.5.2012,  22:24 Найти цитируемый пост)
1.Возможно ли с помощью JS подключать файлы созданные на Delphi 

Если это код рисования в canvas, то можно легко перевести.

Цитата(fayzulakhan @  15.5.2012,  22:24 Найти цитируемый пост)
2.Не могли бы вы подсказать как и с помощью чего (возможно есть уже библиотеки) рисовать на JS  электрические схемы 

Или, как вы сказали с помощью canvas, или есть другой вариант:
имеется некий набор изображений (обязательно с прозрачным фоном) - условных обозначений элементов. Соответственно эти изображения можно размещать в каком-то поле (внутри div-элемента, например) по заданным координатам. Проводники можно рисовать так: бирётся изображение, состоящее из одной чёрной точки (минимум) и растягивается в длину или в ширину - получается горизонтальная или вертикальная линия любой длины.
Т.к. canvas во многих браузерах требует предварительного скачивания плагина и установки, то второй вариант можно попобовать реализовать...

Автор: fayzulakhan 16.5.2012, 16:37
Цитата

Если это код рисования в canvas, то можно легко перевести.

Не могли бы подсказать как это можно реализовать , Заранее Большое Спасибо!

Автор: iff 16.5.2012, 19:24
Если какая-то строка программы на  Delphi рисует линию, то смотрим какая функция в js делает тоже самое, и используем ее. 
П.С. Какая задача всего этого?

Автор: fayzulakhan 17.5.2012, 21:33
Цитата(iff @ 16.5.2012,  19:24)
Если какая-то строка программы на  Delphi рисует линию, то смотрим какая функция в js делает тоже самое, и используем ее. 
П.С. Какая задача всего этого?

Огромное Спасибо за Ваш Совет!, задача... построение электрической схемы... решение данной задачи было выполнено с помощью  http://jcscript.com/

Автор: Aliance 18.5.2012, 09:27
Я бы все-таки использовал бы http://raphaeljs.com/.

Автор: iff 18.5.2012, 14:34
Цитата(fayzulakhan @  17.5.2012,  21:33 Найти цитируемый пост)
Огромное Спасибо за Ваш Совет!, 

Какой вопос:
Цитата(fayzulakhan @  15.5.2012,  22:24 Найти цитируемый пост)
Возможно ли с помощью JS подключать файлы созданные на Delphi 

Такой ответ

Только построение (рисование)? Или же, программа, в которой пользователь может создать схему и расчиать ее (запустить)?

Если нужно только вывести на экран, о вот: http://my-soft2008.narod.ru/paint/test.html (если появились черные квадраты вместо проводниклв - обновите страницу)

Автор: fayzulakhan 19.5.2012, 23:04
Ув. iff! 

Задача была выводить схему на страница ... данная задача была реализована на 100 % , но при ее написании возник такой вопрос ... Если же вам не будет трудно и вы сможете помочь в решении данного вопроса я буду вам безмерно благодарен .. собственно вопрос.

Не могли бы вы подсказать функция , которая при изменении экрана будет масштабировать информацию выводимую на экране .. в пределах допустимой нормы ... 

То есть : 

1. При изменении экрана вместо появляющихся бегунков должен изменятся контент 
2. При изменении экрана он не должен на лазить друг на дуга 
3. Если можно,не могли бы вы подсказать функцию, для вывода относительных координат

Заранее Премного Благодарен , с ув.fayzulakhan!

Автор: iff 20.5.2012, 12:53
Цитата(fayzulakhan @  19.5.2012,  23:04 Найти цитируемый пост)
Задача была выводить схему на страница ... данная задача была реализована на 100 %

С помощью canvas (и библиотеки Raphael)?


Цитата(fayzulakhan @  19.5.2012,  23:04 Найти цитируемый пост)
которая при изменении экрана будет масштабировать информацию выводимую на экране .. в пределах допустимой нормы 

Используйте свойства screen.width и screen.height - это размеры экрана, document.clientWidth и document.clienHeight - размеры рабочей области (последние 2 свойства не кроссбраузерные). может понадобиться событие onresize.


Цитата(fayzulakhan @  19.5.2012,  23:04 Найти цитируемый пост)
1. При изменении экрана вместо появляющихся бегунков должен изменятся контент 

что такое изменение экрана?


Цитата(fayzulakhan @  19.5.2012,  23:04 Найти цитируемый пост)
2. При изменении экрана он не должен на лазить друг на дуга 

Кто он?


Цитата(fayzulakhan @  19.5.2012,  23:04 Найти цитируемый пост)
3. Если можно,не могли бы вы подсказать функцию, для вывода относительных координат

Относительных, т.е. относиетльно чего? родительского элемента?
Не знаю как в канвас, но в обычном html так:
Код

<div style="position: relative">
 <img src="pic.jpg" style="position: absolute; left: 10px; top: 20px">
</div>

Здесь координаты картинки (10, 20) будут отсчитываться относительно координать элемента div.

Автор: EnergyMarauder 21.5.2012, 09:01
Если интересны другие способы рисования, то вот: http://keith-wood.name/svg.html . Радуют детальная документация, примеры и т.д.

Автор: iff 21.5.2012, 14:32
Цитата(EnergyMarauder @  21.5.2012,  09:01 Найти цитируемый пост)
другие способы рисования

Всё тоже:
Цитата

A jQuery plugin that lets you interact with an SVG canvas

Автор: EnergyMarauder 21.5.2012, 14:54
Насколько я знаю HTML 5 Canvas и SVG - это разные вещи, хотя могу ошибаться и не разбираюсь во внутренней работе jQuery SVG. Насколько я понял по недолгому знакомству с плагином, он переводит код, написанный на jQuery в чистый SVG и никакого HTML 5 Canvas'а там нет.

В любом случае нет разницы. Кому интересно, тот посмотрит, благо хорошая документация прилагается. Также на том же сайте очень много интересного по веб-разработке.

Ещё могу посоветовать интерпретатор языка Processing на JavaScript от великого и могучего Джона Резига: http://processingjs.org . Тоже впечатляет.

Автор: iff 21.5.2012, 19:48
ещё раз. там написано:
Цитата(iff @  21.5.2012,  14:32 Найти цитируемый пост)
SVG canvas



Цитата(EnergyMarauder @  21.5.2012,  14:54 Найти цитируемый пост)
Насколько я знаю HTML 5 Canvas и SVG - это разные вещи

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

Автор: EnergyMarauder 21.5.2012, 20:36
Ну так выше шла речь об HTML 5 Canvas, который создаёт растровое изображение, а плагин создаёт SVG-код, т.е. векторное изображение, т.е. не то же самое. В английском языке есть такое нарицательное слово canvas помимо собственного слова Canvas. smile

При чём тут сервер я вообще не понял. Ну да, можно изображение на сервере создавать, а ещё можно рисовать на планшете и на бумаге, вы правы. smile Нет же никакого сервера, это JS плагин, который работает на стороне клиента.

Автор: iff 22.5.2012, 13:27
Цитата(EnergyMarauder @  21.5.2012,  20:36 Найти цитируемый пост)
Нет же никакого сервера, это JS плагин, который работает на стороне клиента

Потому что напрямую JS не может создать ни JPG, ни BMP, не SVG графический файл.

Возможно, скрипт содержит структуру графического файла и создаёт этот файл на локальном диске... Хотя скорее всего, он просто посылает некую строку (с SVG-синтакисиом, как вы говорите) серверу, а сервер даёт графический файл.

Автор: EnergyMarauder 22.5.2012, 14:02
Да нет же никакого сервера, куда он что посылает? Он создаёт SVG-код. SVG-код -- это, грубо говоря, то же самое, что XHTML код, т.е. подмножество XML. Когда JS создаёт XHTML-код он же никакому серверу ничего не посылает. Тут то же самое. Другими словами, этот плагин является SVG интерпретатором на JS, т.е. не то же самое, что HTML 5 Canvas. smile Ну там же всё это можно увидить в примерах.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)