|
|
|||||
Регистрация: Mar 2008
Сообщений: 5
|
Перевод строки в jpg
Доброго времени суток!
У меня такой вопрос. Возможно ли как-то в as3 закодировать произвольную строку в картинку jpg(или png), а потом из этой картинки прочитать эту строку? |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Да, можно - http://help.adobe.com/ru_RU/AS3LCR/F...ByteArray.html
Примеры работ с байткодом - http://www.bytearray.org/?page_id=82
__________________
Я просто добрый шутник. |
|
|||||
Регистрация: Mar 2008
Сообщений: 5
|
scarbo
Как работать с байтарраем я знаю, поэтому ссылка на хелп была лишней ) Я не знаю как строку перевести в картинку Мне надо чтобы функции отдал строку и получил битмап(или что-то в этом роде). И наоборот, отдал битмап и получил строку. В примерах нет ничего подобного. Или если я не увидел, дай пож. прямую ссылку. |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
А ты хочешь строку в картинку перевести, я то думал что в картинку какое-ниюудь секретное слово зафигачить,а потом извлечь. Ну так есть вот решение во Flexlib - http://code.google.com/p/flexlib/wiki/ComponentList
http://flexlib.googlecode.com/svn/tr...age_Sample.swf Там правда, только из строки битмап, но и обратно можно тоже, я думаю, исходники там есть.
__________________
Я просто добрый шутник. |
|
|||||
Регистрация: Mar 2008
Сообщений: 5
|
scarbo
Да вариант несомненно хороший. Но компонентом Base64Image можно перевести строку в картинку. А вот как обратно из картинки получить строку. Кажется последнее этот компонент не умеет |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Этот нет, но там же есть исходники, посмотрите их, и напишите обратный парсер.
__________________
Я просто добрый шутник. |
|
|||||
Регистрация: Mar 2011
Сообщений: 1
|
Здравствуйте.
Можно код каждого символа записать как цвет пикселя изображения. В jpeg закодировать не получится, так как там сжатие с потерями, но png кодировщиков в интернете полно, например первая ссылка в яндексе по запросу as3 png encoder. package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; public class Test extends Sprite { public function Test() { var string:String = "Hello, world!"; var bitmapData:BitmapData = stringToBitmapData(string); var bitmap:Bitmap = new Bitmap(bitmapData); addChild(bitmap); trace(bitmapDataToString(bitmapData)); } public function stringToBitmapData(string:String):BitmapData { var width:int = Math.ceil(Math.sqrt(string.length)); var height:int = Math.ceil(string.length / width); var bitmapData:BitmapData = new BitmapData(width, height, false, 0x000000); for (var i:int = 0; i < string.length; i++) { var x:int = i % width; var y:int = Math.floor(i / width); var code:uint = string.charCodeAt(i); bitmapData.setPixel32(x, y, code); } return bitmapData; } public function bitmapDataToString(bitmapData:BitmapData):String { var string:String = ""; for (var y:int = 0; y < bitmapData.height; y++) { for (var x:int = 0; x < bitmapData.width; x++) { var code:uint = bitmapData.getPixel(x, y); if (code > 0) string += String.fromCharCode(code); else break; } } return string; } } } |
Часовой пояс GMT +4, время: 21:39. |
|
« Предыдущая тема | Следующая тема » |
Теги |
jpg , картинка , строка |
|
|