| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > В png из base64 |
| Автор: creas0ft 24.8.2006, 00:59 | ||||
Имеем строку такого вида
на php такое с картинку грузиться так -
Как такое сотворить в Delphi... Компонет отсюда стянул - http://pngdelphi.sourceforge.net А умных мыслей и нет ((( |
| Автор: Alexeis 24.8.2006, 10:07 | ||
Довольно просто нужно скачать и установит любой компонент типа TPNGImage, поддерживающий загрузку из потока.
|
| Автор: creas0ft 24.8.2006, 10:51 |
| или я совсем отупел или что... при присваивании tmpimg типа AnsiString; компилируется с ошибкой - String literals may have at most 255 elements |
| Автор: Kesh 24.8.2006, 10:53 |
| А ты такой страшный текст не из BLOB поля берешь? |
| Автор: creas0ft 24.8.2006, 10:54 | ||
| нет. руками присваивание... ща дам код
|
| Автор: creas0ft 24.8.2006, 11:20 |
| tmpimage := 'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAAAAACpleexAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTBQ4QHwfqWOdfAAAAB3RJTUUH0wUOEDIrLasyIwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAL5JREFUeNrl1C0OwkAQBWCWQIJEVPQIFT0GAlHBMRBIBKIHqahAIDlERY9R0UOs3ORh5qVLunmp5GfUZvczbzKzDqtltV7ofgtueHCp'; tmpimage := tmpimage+'16h33xBGwn0KYqoTO/J868Csaj418e0cPujOkLDfmTsECcfcXOGhoC/NZQMUDBUDd5DwxiAtJGzprpCw48xVQcIhM1d6KOgLc/kIBcORgXtIeGGQOyRs6Oq0g7P92YbkRE7bRZhcwhh+6nLF5f7yx30B8Z7FgxzMWtEAAAAASUVORK5CYII='; разделил так... но появилось следующее - the file being readed is not valid @Portable Network Graphics надо из base64 конвертировать... |
| Автор: Alexeis 24.8.2006, 11:47 | ||
| creas0ft, base64, это что разновидность Unicode кодировки? Добавлено @ 11:57 На torry.net нашел пример перекодирования base64 в нормальную строку.
|
| Автор: creas0ft 24.8.2006, 12:02 |
| это сжатый формат - я так понимаю |
| Автор: Alexeis 24.8.2006, 12:12 |
| Да как я понял символ занимает 6 бит. С помощью Decode64, должны получить нормальное ANSI представление строки |
| Автор: creas0ft 24.8.2006, 12:43 |
| а еще на инвалид хеадер ругается... вообщем что то не так... помогите плз |
| Автор: Alexeis 24.8.2006, 12:57 |
Может есть опигинал файла, чтоб можно было проверить результат декодировки? |
| Автор: creas0ft 24.8.2006, 13:03 |
| нету... это кусок из php кода - который нормальное вставляет в картинку. imagecreatefromstring(base64_decode(tmpimg)) |
| Автор: Alexeis 24.8.2006, 13:17 |
| ну а нельзя выполнить этот php код и вызвать функцию типа savetofile? Или апач не установлен? |
| Автор: creas0ft 24.8.2006, 13:21 |
| так дело не в этом... мне надо с таким образом управляться... base64_decode вся загвоздка я так понимаю в этой функции base64_decode http://www.usurt.ru:8100/php/function.base64-decode.html вот описание ее. Как бы такое в delphi сделать |
| Автор: Alexeis 24.8.2006, 13:36 | ||||
| creas0ft, я же дал код функции base64-decode, это не просто самопальный код, он взят с сайта Torry.net. Просто надо все отладить. Кстати я забыл кое что сделать. перед
необходимо установить указатель потока в начало.
как видишь без отладки трудно написать сразу рабочий код, потому и нужны данные картинки, чтоб проверить каждый шаг последовательно, что и как выполняется. |
| Автор: creas0ft 24.8.2006, 13:41 | ||
все такая же ошибка.... на php при раскодировке строка начинается так - ‰PNG |
| Автор: creas0ft 24.8.2006, 14:24 | ||
| я так понимаю это uue кодирование как такое раскодировать в Delphi Добавлено @ 14:29
вот это правильно раскодирует. Все всем спасибо |