Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2011, 09:22   #1
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
По умолчанию Base64

Не могу в delphi разкодировать картинку:

Делаю запрос сайту, мне приходит ответ например:

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1 c2luZyBJSkcgSlBFRyB2NzApLCBxdWFsaXR 5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUK BwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBE TFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ UFBQUFBQUFBQUFBQUFBQU/8AAEQgASAB4AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQ YHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQ USITFBBhNRYQcicRQygZGhCCNCscEVUtHwJ DNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNE RUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ 3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpq eoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1 tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQ YHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBA UhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwF WJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV 2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpK Wmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1 NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+46KKK88+lCiiigAoo ooARmCKWYhVAySTgCqdrrenX0rR219bXEi/eWKVWI+uDXiEtvd/Hv4k+I9JutQnsfCXhudbVrezcI93OR824kH 5R7da2tZ/Zb8IXVgF0o32i6jGd0V/b3Tl1YHIJBOD9BiuX2s5XdON167nN7ScruE br1PYqK8H+B/xO1238W6h8O/Gcgudbsdxtb8DH2iJem73wCa94rWnUVWPMj WnUVSPMgooorU0CiiigAooooAKKKKACiiig AooooA+efGPhnxp8HPHGveNfCUdhqugapi4 1LTL24EGx1z8yscAcHjn8DVBv2s/EU3hptRtfhbrUxI+W4Te1vn13Kh49+9W/jpq9rcfG3wPoniif7P4NaN7hkkJEM1yM7BI ehHQAH1NfQVk9sbeNbRojAFGwQkbQMcYx2r zYwlKc40p8qT20eu/XZHnxhKU5Rpy5UvR67/ACR8o/AS40n4i/FeXxlrviuyPikjEehRRvAYhjoPMA3kAfw59 zX1tXgn7UXhrwRP4L1HV72Wz0zxRZoZbG7g dY7kzAfIpxyQTjr04rtf2ffEeteKfhRol/r6OuomPyzJIMNKq8Bz7nv71WH/AHU3Rer3v39ezKofu5ui9Xvf/PzPRqKKK9A7gooooAKKKKACiiigAooooAKK KKAMvxB4X0fxXZm01nTLTVLb/nldwrIAfUZHB965OT4BfD2VFQ+FbIIvRV3K B+Rr0Cis5U4S1kkyHCEtWkzjNJ+DPgXQ5PM svCWkQyg5En2RGYfQkEj8K7FEWNFRFCoowF UYAHpTqKqMYx+FWGoxj8KsFFFFUUFFFFABR RRQAUV8f/8ADwX/AKkL/wArP/2ij/h4L/1IX/lZ/wDtFed/aGG/m/BnD9ew/wDN+DPsCivkWD9vm4uoriWH4dyzR20YlneP ViwiQsqBmIt/lG50XJ7sB1Iq4f24NYEtlEfhbfeZfSLFaJ/aD5uHZY3VYx9n+YlZomAGciRD0YZf1/Dv7X4P/If12g/tfg/8j6uor5Lk/bs1CLz9/wANLlPIgjupd2psPLhfZ5cjf6PwjeZHhjwd 64+8Khg/b5uLqK4lh+Hcs0dtGJZ3j1YsIkLKgZiLf5R udFye7AdSKPr+H/m/B/5C+u0P5vwf+R9dUV8r/wDDaev/AGH7b/wqbUvsf/Px9tk8v/UfaPvfZsf6n97/ALnzfd5qG/8A24NY0qziu734W31nayxxSxz3GoOiOkocx MGNvghxHIVI+9sbGcGn9ew/834P/If1yh3/AAf+R9XUV8xxftgeJP8AhKLDw/d/CfUtO1W9w0dtdXM4l8vJzL5S2hkZFCuSVVj hGwDiqej/ALcEutaLr2oxeDbaL+x4IrmW2l1l/NljeZId0eLUr8ryx5DMpw3GcHD+u0P5vwf+ Q/rlHv8Agz6oor5Fsv2+bjUbyC0tPh3LdXU8i xQwQ6sXeR2OFVVFvkkkgADrVy7/AG4NYsIllufhbfW8bWiX4eXUHUG2dgiTZNv/AKtmZVD9CSADk1P1/DvXm/B/5C+u0Hrzfg/8j6uor5Fu/wBvm4sJViufh3LbyNGkoSXVipKOodGwbfoy srA9wQRwah/4eC/9SF/5Wf8A7RR/aGG/m/B/5C+vYf8Am/Bn2BRXx/8A8PBf+pC/8rP/ANoopf2hhv5vwYfXsP8Azfgz4/ooor40+TOw+GfjLT/Bmq30uqab/athdQRRyWxCssnlXUFyI2VuCkhtxE2c7VkL YfbsbvNM+N+gWN1YST6Rc3f9jT20mnSuke+ TyItPVZDknyXf+y0Q7S+1byTlvKCzFFbwrT grI2jVlBWRg618UNH1HwXc2EOlSxazd6bba bPcFUA2RLYqPnHzMF/s1GVSBzeSjjygZofC3jLwh4M1WGW003UtVs LrSbWPVLbUxCyyXkV1DcvGijg28ht0i+bLK sjMQ+0IxRR7aV+bqL2sr3Oq0j496Po95oyr p99Pa2V3bJJKdiubaA6PskCbiPMcaU+Y92F 81RvbBJzX+M2iXGj/ANl3miXN/YLY2cDxNMIvtLIujrNGxU5jQjTJQHUlv3q/KuDRRVfWKmxft57E3/C1/DX9ueAJHF8bXw5rM2qXNza6LZWRuQfszIEt oGRFO6AoSzscYfcciNOJ8N6voGj6X43s57v Um/tKxFlpzx2MZ37bmKdWmBmHl5+zopC+ZjzGO TtAYoqXWk3d/wBaWIdWTd3/AFpYm8A694Y8K3nhzWrtNXk1/TfEFteTJCIjatYRlXYKCQxm3qcZIXHfNQ+G/Gu5NesPEOoalNYa1A6TXUf+kywzNcW87ziN 3QSO5tURiXUkEMSdoUlFSqjVkv66CU2rJFP 4g+IdP8T+JBe6Xb3NrYJY2NpHDeOryr5FpF CQWUANzGfmAXIwdq5wObooqJNybbIbcndhR RRUiP/Z



А вот как именно в дельфи программно это чудо в картинку привратить не знаю!(((

Пробывалв HTML как картинка сделать:
<img src="data:image/gif;base64,[
Код base64
]"/>

Так показывает только в опере, а в интернет експловере нет((

Я новечек если можно то по подробнее, заранее спасибо!!!
GoldmasteR вне форума Ответить с цитированием
Старый 06.01.2011, 11:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

У меня дома вроде как есть unit для раскодировки, откуда то скачал, подождешь до вечера брошу

Что-то я начудил, этот юнит в D7 есть (EncdDecd)Примерное обращение:
Код:
var xInStr: TStringStream;
     xOutStr: TMemoryStream;
...
//в xInStr помещен исходный код
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile(<имя файла>);

не "плодите" посты один за другим!
Используйте кнопку "Правка"
Модератор.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Serge_Bliznykov; 06.01.2011 в 12:01.
Аватар вне форума Ответить с цитированием
Старый 06.01.2011, 12:19   #3
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
По умолчанию

А EncdDecd на какой вкладке?
GoldmasteR вне форума Ответить с цитированием
Старый 06.01.2011, 13:13   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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

Последний раз редактировалось Аватар; 06.01.2011 в 13:21.
Аватар вне форума Ответить с цитированием
Старый 06.01.2011, 13:47   #5
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
По умолчанию

Блин не получается((

Смотрите я в memo1 пишу код base64

Жму на кнопку и эта картинка появляется в image1
GoldmasteR вне форума Ответить с цитированием
Старый 06.01.2011, 13:54   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Сообщение от GoldmasteR Посмотреть сообщение
Блин не получается((

Смотрите я в memo1 пишу код base64

Жму на кнопку и эта картинка появляется в image1
Что не получается? Код в студию
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.01.2011, 15:19   #7
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   xInStr:=memo1.text;
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
end;
в user EncdDecd

И подсвечивает строку
xInStr:=memo1.text;

Последний раз редактировалось Stilet; 06.01.2011 в 18:31.
GoldmasteR вне форума Ответить с цитированием
Старый 06.01.2011, 16:38   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

xInStr:=memo1.text; - так нельзя
нужно:
Код:
xInStr:=TMemoryStream.Create;
xInStr.LoadFromFile(<имя файла с данными в BASE64>);
//или как-то по другому в поток загрузить данные
В конце обязательно:
Код:
xInStr.Free;
xOutStr.Free;
xOutStr.SaveToFile('cod.gif'); - в общем не обязательно, можно напрямую в Image загрузить, используя LoadFromStream или в Image или Image.Bitmap (точно не помню). А в принципе с вопросами типа "напиши программу за меня" нужно обращаться в раздел для новичков (свмый первый раздел)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.01.2011 в 16:42.
Аватар вне форума Ответить с цитированием
Старый 06.01.2011, 18:03   #9
GoldmasteR
Заблокирован
 
Регистрация: 05.09.2010
Сообщений: 23
По умолчанию

Опять ошибка

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   TMemoryStream.Create;
    TMemoryStream.LoadFromFile('cod.txt');
   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
   xInStr.Free;
   xOutStr.Free;
end;
Помогите пожаоуйста!!! Как исправить?

Подчеркивает
TMemoryStream.LoadFromFile('cod.txt ');

Опять ошибка
Проект открывается, но как нажму на кнопку ошибка

Подчеркивает
xOutStr:=TMemoryStream.Create;


Код:
procedure TForm1.Button1Click(Sender: TObject);
 var xInStr: TStringStream;
     xOutStr: TMemoryStream;
begin
   TMemoryStream.Create;
    xOutStr.LoadFromFile('cod.txt');

   xOutStr:=TMemoryStream.Create;
   DecodeStream(xInStr,xOutStr);
   xOutStr.SaveToFile('cod.gif');
   xInStr.Free;
   xOutStr.Free;
end;
вот исходный код

From Stilet: Почему код не выделяем спецтегом по кнопке #? Это неуважение к форумчанам.

Последний раз редактировалось Stilet; 06.01.2011 в 18:33.
GoldmasteR вне форума Ответить с цитированием
Старый 06.01.2011, 18:27   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
TMemoryStream.Create;
xOutStr.LoadFromFile('cod.txt');
заменить на
xInStr:=TStringStream.Create;
xInStr.LoadFromFile('cod.txt');
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.01.2011 в 18:31.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
base64 в delphi 2009 Shad0w64bit Общие вопросы Delphi 12 06.08.2010 08:29
base64 beemoto Общие вопросы Delphi 0 24.04.2010 21:58
base64 Dimarik Win Api 0 10.04.2010 18:59
кодировать в base64 furstenberg Общие вопросы Delphi 13 29.08.2008 17:02
base64 BlackOmen Общие вопросы Delphi 2 02.05.2008 16:30