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

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

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

Регистрация: Aug 2009
Сообщений: 9
По умолчанию как сохранить картинку из flash через zinc

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

Код AS1/AS2:
savebox.onRelease = function ():Void {
 
    mdm.Dialogs.BrowseFile.title = "save Grafik Datei";
    mdm.Dialogs.BrowseFile.filterList = "JPEG|*.bmp|BMP|*.bmp";
    mdm.Dialogs.BrowseFile.buttonText = "save";
var savePath = mdm.Dialogs.BrowseFile.show();
 
	mdm.Image.ScreenCapture.movieAreaToBmp(10, 10, 400, 400, savePath);	
 
	mdm.Image.bmpToJpg(savePath);
	mdm.FileSystem.deleteFile(savePath);
}
Хотя до этого, строка mdm.Image.ScreenCapture.movieAreaToBmp(10, 10, 400, 400, "name.bmp"); сохранала файл в папку, откуда загружалась фотография и не было никаких проблем .

Подскажите, есть ли другой способ сохранить объедененные фотографию и нанесенные изображения в файл используя диалог сохранения.
Заранее спасибо.

Старый 27.11.2009, 08:39
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Альтернатива есть. Это использование JPGEncoder в АС3.
http://www.mdmforum.com/forum/index....g&fromsearch=1
Правда, надо прежде проверить, а не косячит ли с путями mdm.FileSystem.BinaryFile.writeData().

Старый 27.11.2009, 15:18
Geoli вне форума Посмотреть профиль Отправить личное сообщение для Geoli Найти все сообщения от Geoli
  № 3  
Ответить с цитированием
Geoli

Регистрация: Aug 2009
Сообщений: 9
Переходить на AS3 не рискую. т.е. и в AS2 не очень хорошо плаваю.
По ходу вопрос, zinc загоняет в exe файл свой плеер, не значит ли это, что если я буду писать на AS3 и обработаю через zinc, не прийдется ли пользователю этого файла доставлять себе к примеру flashpleer 10? Или он будет уже в пакете и нет необходимости напрягать пользователя?
Если нет, то как я понимаю, в AS3 работа с файловой системой намного проще. Единственное, нужно настроить zinc. Все руки не доходят разобраться с этим.

По поводу косяка с путями думал. Но вчера вечером уже голова болела, не мог собрать мозги. Сегодня буду искать пути исправить.

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

В общем пока только один вопрос, нужен ли пользователю 10 плеер для работы готовым приложением?

Старый 27.11.2009, 15:47
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Я вам уже говорил, что сохранить/загрузить/отредактировать картинку на локальном диске по силам самомоу 10-ому плееру с АС3-начинкой. Опубликуете в формат .ехе (стандартный проектор) и все. Кроме того, существует еще AIR. Цинк в этом вопросе (сохраниение клипов на винт) не дает никаких преимуществ, собственно, как и другие оболочки ему подобные. То, что есть, вряд ли можно рассматривать серьезно, да и косяки опять же. Другое дело, если используются еще какие-то фичи цинка.. но это отдельный вопрос.
Может ли 3-ий цинк встраивать 10-ый плеер - не могу сказать точно. С третьим цинком не работал, посмотрите примеры, хэлп. А так, да, если позволяет встраивать, то пользователю не придется ничего устанавливать дополнительно, т.е. приложение будет standalone.
ЗЫ зарегаться на форуме mdm, пожалуй стоит.. он хоть и не русскоязычный, но все же польза от него есть.


Последний раз редактировалось alexcon314; 27.11.2009 в 15:49.
Старый 29.11.2009, 18:55
Geoli вне форума Посмотреть профиль Отправить личное сообщение для Geoli Найти все сообщения от Geoli
  № 5  
Ответить с цитированием
Geoli

Регистрация: Aug 2009
Сообщений: 9
Большое спасибо за ответы. На данный момент для теста все получилось более менее нормально. Но хотелось бы сделать лучше.
Не могли бы вы объяснить, как это можно сделать в 10 плеере. Попробовал, не понял. Укажите хотя бы канву, в которой можно начинать копать.
Заранее большое спасибо.

Старый 30.11.2009, 08:58
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
#1
download AS3 JPEG encoder
http://code.google.com/p/as3corelib/

#2
add that encoder to your class path (e.g. to source of that lib) and write a code like:
Код:
import flash.display.*;
import flash.geom.*;
import mdm.*;
import com.adobe.images.JPGEncoder;
//
function doTest():void
{
        var shape:Shape = new Shape();
        shape.graphics.beginFill(0x00FF00);
        shape.graphics.drawRect(0, 0, 200, 200);
        shape.graphics.endFill();
        this.addChild(shape);
        var bmp:BitmapData = new BitmapData(shape.width, shape.height);
        bmp.draw(shape);
        var jpgEncoder:JPGEncoder = new JPGEncoder(85);
        var jpgStream:ByteArray = jpgEncoder.encode(bmp);
        //
        var jpgPath:String = mdm.Application.path+"myImage.jpg";
        //
        mdm.FileSystem.BinaryFile.setDataBA(jpgStream);
        mdm.FileSystem.BinaryFile.writeDataBA(jpgPath);
        /// let's open it via system
        mdm.System.exec(jpgPath);
        
};
//
mdm.Application.init(this, doTest);
(85 - is magic number - here for compression ratio/quality)
#3
in ZINC Builder make sure you've added mdm_filesystem and mdm_system for above example to work,

это пример с форума мдм.

Код:
function snapPic():void{
    if(myMessageTxt.text.length > 0){
        var bitmapData:BitmapData = new BitmapData(pic.width, pic.height);
        bitmapData.draw(pic,new Matrix());
        var bitmap : Bitmap = new Bitmap(bitmapData);
        var jpg:JPEGEncoder = new JPEGEncoder();
        var ba:ByteArray = jpg.encode(bitmapData);
        file.save(ba,myMessageTxt.text + '.jpg');
    } else {
        Alert.show("Please enter your First name","Error");
    }
}
а это пример для 10-ого плеера, первый попавшийся в гугле по запросу "Flash Player 10 save to file".
да вот еще http://techblog.floorplanner.com/200...ash-player-10/
Достаточно?


Последний раз редактировалось alexcon314; 30.11.2009 в 09:04.
Старый 01.12.2009, 18:21
Geoli вне форума Посмотреть профиль Отправить личное сообщение для Geoli Найти все сообщения от Geoli
  № 7  
Ответить с цитированием
Geoli

Регистрация: Aug 2009
Сообщений: 9
Большое спасибо, более чем достаточно. Остался один глупый вопрос.
Цитата:
Опубликуете в формат .ехе (стандартный проектор) и все.
Где это делается?

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

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

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


 


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


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