|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2009
Сообщений: 9
|
как сохранить картинку из flash через zinc
Есть MoveClip, в который загружается фотография, после этого можно на ней рисовать. Нужно, чтобы по нажатию кнопки сохранить, открывался диалог, чтобы выбрать место и дать имя файлу. Не уверен, что коректно, но нашел такое решение. Но это решение не позволяет сохранять в папки с кирилицей в названии или с пробелами.
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); } Подскажите, есть ли другой способ сохранить объедененные фотографию и нанесенные изображения в файл используя диалог сохранения. Заранее спасибо. |
|
|||||
listener
|
Альтернатива есть. Это использование JPGEncoder в АС3.
http://www.mdmforum.com/forum/index....g&fromsearch=1 Правда, надо прежде проверить, а не косячит ли с путями mdm.FileSystem.BinaryFile.writeData(). |
|
|||||
Регистрация: Aug 2009
Сообщений: 9
|
Переходить на AS3 не рискую. т.е. и в AS2 не очень хорошо плаваю.
По ходу вопрос, zinc загоняет в exe файл свой плеер, не значит ли это, что если я буду писать на AS3 и обработаю через zinc, не прийдется ли пользователю этого файла доставлять себе к примеру flashpleer 10? Или он будет уже в пакете и нет необходимости напрягать пользователя? Если нет, то как я понимаю, в AS3 работа с файловой системой намного проще. Единственное, нужно настроить zinc. Все руки не доходят разобраться с этим. По поводу косяка с путями думал. Но вчера вечером уже голова болела, не мог собрать мозги. Сегодня буду искать пути исправить. Да, по поводу ссылки, я не зарегистрирован на этом форуме, меня не пустили к этой теме, чуть позже надо будет поискать более полную развернутую тему. В общем пока только один вопрос, нужен ли пользователю 10 плеер для работы готовым приложением? |
|
|||||
listener
|
Я вам уже говорил, что сохранить/загрузить/отредактировать картинку на локальном диске по силам самомоу 10-ому плееру с АС3-начинкой. Опубликуете в формат .ехе (стандартный проектор) и все. Кроме того, существует еще AIR. Цинк в этом вопросе (сохраниение клипов на винт) не дает никаких преимуществ, собственно, как и другие оболочки ему подобные. То, что есть, вряд ли можно рассматривать серьезно, да и косяки опять же. Другое дело, если используются еще какие-то фичи цинка.. но это отдельный вопрос.
Может ли 3-ий цинк встраивать 10-ый плеер - не могу сказать точно. С третьим цинком не работал, посмотрите примеры, хэлп. А так, да, если позволяет встраивать, то пользователю не придется ничего устанавливать дополнительно, т.е. приложение будет standalone. ЗЫ зарегаться на форуме mdm, пожалуй стоит.. он хоть и не русскоязычный, но все же польза от него есть. Последний раз редактировалось alexcon314; 27.11.2009 в 15:49. |
|
|||||
Регистрация: Aug 2009
Сообщений: 9
|
Большое спасибо за ответы. На данный момент для теста все получилось более менее нормально. Но хотелось бы сделать лучше.
Не могли бы вы объяснить, как это можно сделать в 10 плеере. Попробовал, не понял. Укажите хотя бы канву, в которой можно начинать копать. Заранее большое спасибо. |
|
|||||
listener
|
#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); #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"); } } да вот еще http://techblog.floorplanner.com/200...ash-player-10/ Достаточно? Последний раз редактировалось alexcon314; 30.11.2009 в 09:04. |
|
|||||
Регистрация: Aug 2009
Сообщений: 9
|
Большое спасибо, более чем достаточно. Остался один глупый вопрос.
Цитата:
|
Часовой пояс GMT +4, время: 21:01. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|