Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.05.2009, 18:56
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 1  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Question Неправильно собирается картинка на сервере.

Всем привет!

У меня есть желание сохранять некоторый мувик как картинку. Нашёл на форуме вполне рабочий код, ну и использовал его. Выглядит он так:
1. Во флеше
Код AS1/AS2:
function sendPicure()
{
	var pixels:Array = [];
	var bmd:BitmapData = new BitmapData(1000, 369);
	var my_matrix:Matrix = new Matrix();
	my_matrix.scale(1, 1);
	bmd.draw(this.dom, my_matrix);
 
	var w:Number = bmd.width, tmp;
	var h:Number = bmd.height;
 
	for(var i=0;i<=w;i++)
	{
		for(var n=0;n<=h;n++)
		{
			tmp = bmd.getPixel32(i, n).toString(16);
			pixels.push(tmp.substr(1))
		}
	}
	var output:LoadVars = new LoadVars()
	output.img = pixels.toString()
	output.height = h
	output.width = w;
	output.send("show.php", "output", "POST");
}
2. PHP скрипт который всё это собирает
PHP код:
//If GD library is not installed, say sorry

    
if(!function_exists("imagecreate")) die("Sorry, you need GD library to run this example");
    
//Capture Post data
    
$data explode(","$_POST['img']);
    
$width $_POST['width'];
    
$height $_POST['height'];
    
//Allocate image
    
$image=(function_exists("imagecreatetruecolor"))?imagecreatetruecolor$width ,$height ):imagecreate$width ,$height );
    
$background imagecolorallocate$image ,);
    
//Copy pixels
    
$i 0;
    for(
$x=0$x<=$width$x++){
        for(
$y=0$y<=$height$y++){
            
$r 255-hexdec("0X".substr$data[$i] , )); 
            
$g 255-hexdec("0x".substr$data[$i] , )); 
            
$b 255-hexdec("0x".substr$data[$i++] , ));
            
$color =  ($r << 16) | ($g << 8) | $b
            
imagesetpixel $image $x $y $color );
        }
    }
    
//Output image and clean
    
header"Content-type: image/jpeg" );
    
ImageJPEG$image );
    
imagedestroy$image ); 
Картинка собирается, но неправильно, а вот так:
[IMG]http://img34.**************/img34/3387/tmpc.jpg[/IMG]

Кто нибудь знает в чем может быть причина? Я был бы очень благодарен.
__________________
O God! The Aftermath.

Старый 28.05.2009, 19:09
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Замените getPixel32 на getPixel
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.05.2009, 19:25
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 3  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Воспользовался вашим советм, вот результат:
[IMG]http://img40.**************/img40/9904/tmp2.jpg[/IMG]
Может быть и в PHP теперь что-то изменить нужно?
__________________
O God! The Aftermath.

Старый 28.05.2009, 19:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Похоже автор скрипта забыл, что нужно добивать нулевые значения триады RGB…

Старый 28.05.2009, 19:36
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Кстати, использовать toString(16) не то что не нужно, а вредно. Передавайте непосредственно само число, оно будет весить меньше, чем генерируемая строка.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.05.2009, 19:39
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 6  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Подскажите пожалуйста куда и как их нужно добавить.
__________________
O God! The Aftermath.

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.