Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
1

Рисование

25.05.2013, 05:58. Показов 1324. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня есть <img> и переменная с текстом. Я могу как-то с помощью JavaScript написать этот текст на изображении?

Добавлено через 23 минуты
Уточню. Рисовать не обязательно в <img>. Но в конечном итоге мне нужно иметь изображение с текстом на белом фоне, которое можно охранить браузером.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2013, 05:58
Ответы с готовыми решениями:

Рисование на JS
можно ли с помощью JS сделать форму, в которой можно было бы рисовать? Если можно, то как. Если...

Рисование с анимацией
Здравствуйте! Подскажите как можно нарисовать например автомобиль и анимировать его движения,...

Рисование графика
Помогите на нести на график функцию y=x^2 Вот график : var canvas =...

Рисование ориентированного графа
Я, как нуб, ищу простой способ нарисовать граф с парой доп условий: - ноды должны содержать текст...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
25.05.2013, 08:02 2
по определению браузер не может создавать и сохранять файлы, тем более двоичные

браузер может только отобразить что-то
в т.ч. можно "наложить" сверху надпись на картинку
но от этого сам файл картинки никак не изменится
1
256 / 234 / 38
Регистрация: 31.10.2010
Сообщений: 504
25.05.2013, 13:11 3
Я так понял, вам надо, чтобы пользователь мог сохранить результат? Рисуете на канвасе, потом делаете так:
Javascript
1
2
var img = document.getElementById('result-image');
img.src = canvas.toDataURL('image/png');
2
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
26.05.2013, 05:38  [ТС] 4
А как мне мой текст вообще вписать в Конвас?

Добавлено через 7 часов 28 минут
Это выходит, что и изображение и конвас будет видно на странице? А можно второго как-то скрыть?

Добавлено через 1 час 33 минуты
Добрался до спецификации. Хотя, пока что не дошло как распологать и переносить строки для изображения.
Появился ещё один вопрос. Как отвязать разрешение картинки от размера самого <canvas>. Т.к. для текста нужно много места, а места на странице очень мало.
0
256 / 234 / 38
Регистрация: 31.10.2010
Сообщений: 504
26.05.2013, 10:55 5
Необязательно вообще что-либо отображать кроме результата:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!doctype html>
<html>
<head>
<script type="text/javascript">
// Создаём элемент img
var img = document.createElement('img');
// Функция, которая выполнится, когда изображение загрузится
img.onload = function() {
  // Создаём канвас и устанавливаем его размеры равными размерам изображения
  var canvas = document.createElement('canvas');
  canvas.width = img.width;
  canvas.height = img.height;
  
  // Получаем контекст
  var context = canvas.getContext('2d');
  
  // Рисуем загруженное изображение
  context.drawImage(img, 0, 0);
  
  // Устанавливаем параметры шрифта
  context.strokeStyle = '#000';
  context.lineWidth = '1px';
  context.textBaseline = 'middle';
  context.font = 'bold 24px';
  context.fillStyle = '#fff';
  // Рисуем текст: первый параметр - текст, второй и третий - координаты
  context.fillText('123456789', (img.width - 24 * 9) / 2, img.height / 2);
  
  // Создаём новое изображение
  var newImg = document.createElement('img');
  // Помещаем в него изображение с канваса
  newImg.src = canvas.toDataURL('image/png');
  // Добавляем это изображение на страницу
  document.getElementsByTagName('body')[0].appendChild(newImg);
}
// Загружаем изображение
img.src = 'image.png';
</script>
</head>
<body></body>
</html>
Но если нужно что-то скрыть со страницы, то вот:
Javascript
1
2
var elem = document.getElemenyById('your-elem');
elem.style.display = 'none';
1
26.05.2013, 10:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2013, 10:55
Помогаю со студенческими работами здесь

Рисование вектора в браузере
Ребята, всем привет! Сразу скажу, что знаю html и css, js и svg знаю на низком уровне. Ищу способы...

Рисование на холсте из обьекта
Подскажите пожалуйста как нарисовать холст? var TableHeight = 300, TableWidth = 500; function...

Рисование граффити как в контакте
Всем привет. Народ, есть ли какой-нибудь плагин/библиотека для рисования граффити аналогичные...

Рисование на изображении, Кнопка загрузки изображения с компа
Уважаемые программисты. Два вопроса: 1 - У меня есть изображение, как сделать чтоб поверх него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru