![]() |
|
||||||||||
|
|
|
|||||
|
нужно закодировать минимальным количеством знаков цвет:
можно так: #F0000C можно так 15728652... но в итоге все будет строка "F0000C " .. будет сохранятся определенный пиксель. важно размер этой строки. Возможно закодировать к примеру трема символами? включая спецсимволы.. только чтоб строка была покороче... "*(:"
__________________
Flash в крови |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Тремя — легко.
«FFFFFF» = «яяя» в вендовой кодировке. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 29
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
DnV, а вы читали эту тему и поняли, что хочет автор?
Скрипун, где-то было, щас навскидку не найду. Используй String.fromCharCode и т.п. Последний раз редактировалось etc; 27.08.2007 в 19:43. |
|
|||||
|
что-то такое у меня выходит..
function codeColor(n:Number):String{
var str:String=n.toString(16);
while(str.length<6)str="0"+str;
for(var i:Number=0,arr:Array=[];i<3;i++){
var code:Number=parseInt(str.substr(i*2,2),16)+1;
var char:String=String.fromCharCode(code);
arr.push(char);
}
return arr.join('');
}
function encodeColor(s:String):Number{
for(var i:Number=0,arr:Array=[];i<3;i++){
var code:Number=s.charCodeAt (i)-1;
var str:String=code.toString(16);
arr.push(str.length<2 ? "0"+str : str);
}
return parseInt(arr.join(''),16);
}
var clr:Number=0xF0000C;
trace(clr);
var cClr:String=codeColor(clr);
trace(cClr);
var eClr:Number=encodeColor(cClr);
trace(eClr);
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 29
|
2 __etc:
Да, я читал тему, и понял, что хочет автор: закодировать цвет тремя буквами. я знаю что у каждой буквы есть код от 0 до 256, только как это заюзать? Флеш ессно цвет из букв не нарисует. Я дал линк где описана функция преобразования строки символов в строку из их кодов. Конкретно для цветов (из трёх букв) можно переписать её проще, но принцип тот же. Или я таки не понял, что хочет автор? |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Можно вообще одной-двумя буквами обойтись - сколько в уникоде символов?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
а что мешает закодировать одной буквой юникода вместо трех аский?
------Kikasso опять обогнал ![]() Только Скрипуну наверно вес важен на самом деле, а не количество букв ![]() и получается что 3 по 8 бит меньше чем одна 32-битная (к тому же флэш по-моему с ними не работает) или две 16-битных.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 28.08.2007 в 01:51. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 29
|
2 Wolsh, Kikasso:
Одной это как? Не 16 же миллионов символов в юникоде... Двумя может и поверю, но на практике это как выклядеть будет? Экшенскрипт чтоли юникод кушает? Последний раз редактировалось DnV; 28.08.2007 в 02:01. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|