Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2012, 08:52
Интересующийся
Отправить личное сообщение для Marv Посмотреть профиль Найти все сообщения от Marv
 
Регистрация: 09.08.2010
Сообщений: 19

Что лучше использовать, canvas или svg?
Не знаком с данным вопросом, поэтому объясню, возможно, немного непонятно. Задача такая: пользователь загружает картинку, мы добавляем к ней логотип и возвращаем новое изображение как файл на скачивание.

Есть пожелание делать все на стороне клиента.

Что лучше использовать? Canvas? У него есть метод, который возвращает содержимое toDataURL(). Для svg про такое не слышал. Возможно ли вообще, что бы js автоматически отдавал какие-нибудь данные для скачивания не с сервера, а из результов работы самого js?

Можно ли как-то, не загружая картинку на сервер, обработать ее в js скрипте? Или мне не заморачиваться со всем этим и просто использовать php + gd?
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2012, 10:41
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

можно юзать Flash
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2012, 03:40
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Сообщение от Marv Посмотреть сообщение
Не знаком с данным вопросом, поэтому объясню, возможно, немного непонятно. Задача такая: пользователь загружает картинку, мы добавляем к ней логотип и возвращаем новое изображение как файл на скачивание.

Есть пожелание делать все на стороне клиента.

Что лучше использовать? Canvas? У него есть метод, который возвращает содержимое toDataURL(). Для svg про такое не слышал. Возможно ли вообще, что бы js автоматически отдавал какие-нибудь данные для скачивания не с сервера, а из результов работы самого js?

Можно ли как-то, не загружая картинку на сервер, обработать ее в js скрипте?
Всё можно но с кучей оговорок.
Примерно так:
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
	body{
		background: #000;
		color: #fff;
	}
	canvas{
		background:-moz-linear-gradient(45deg, white 26%, transparent 25%, transparent 75%, white 75%), 
		-moz-linear-gradient(45deg, white 26%, rgb(217,217,217) 25%, rgb(217,217,217) 75%, white 75%);
		background:-o-linear-gradient(45deg, white 26%, transparent 25%, transparent 75%, white 75%), 
		-o-linear-gradient(45deg, white 26%, rgb(217,217,217) 25%, rgb(217,217,217) 75%, white 75%);
		background:-webkit-linear-gradient(45deg, white 26%, transparent 25%, transparent 75%, white 75%), 
		-webkit-linear-gradient(45deg, white 26%, rgb(217,217,217) 25%, rgb(217,217,217) 75%, white 75%);
		background:linear-gradient(45deg, white 26%, transparent 25%, transparent 75%, white 75%), 
		linear-gradient(45deg, white 26%, rgb(217,217,217) 25%, rgb(217,217,217) 75%, white 75%);
		background-size:20px 20px;
		background-position: 0 0, 10px 10px;
		display:block;
	}
	a{color: #a00}
	a:hover{color: #f00}
	</style>
</head>
<body>
	<input type="file" id="input" onchange="handleFiles(this.files)">
	<canvas id="canvas" width=100 height=100></canvas>
	<a href="#" id="download" download="ingvithlogo.png">download</a>
	<script type="text/javascript">
	function handleFiles(files){
		var canvas = document.getElementById('canvas'),
			download = document.getElementById('download'),
			ctx = canvas.getContext('2d'),
			img = new Image();
		
		img.onload = function(){
			canvas.width = img.width;
			canvas.height = img.height;
			
			ctx.drawImage(img,0,0);
			
			ctx.font = '20px Georgia,serif'
			ctx.strokeStyle = "#0F0";
			ctx.strokeText('=^_^=', 5, canvas.height-5);
			
			download.href = canvas.toDataURL();
		}
		img.src = URL.createObjectURL(files[0]);
	}
	</script>
</body>
</html>



А верное решение на текрущий момент в большинстве случаев:
Сообщение от Marv Посмотреть сообщение
Или мне не заморачиваться со всем этим и просто использовать php + gd?
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой графический движок: SVG vs Canvas stryaponoff Общие вопросы Javascript 5 29.06.2010 16:59
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
Стоит ли пользоваться библиотеками или лучше писать свой код? lancer Общие вопросы Javascript 5 24.03.2008 19:31