Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.03;
Скачать: [xml.tar.bz2];

Вниз

RTF-картинка (PHP)   Найти похожие ветки 

 
Polkin ©   (2010-07-08 11:37) [0]

Добрый день!
Покажите, где ошибся?
Ести функция формирования картинки в формат rtf.

function makeRTFImage ($image, $w, $h) {
 $res = "{\\pict\\wbitmap0\\picw$w\\pich$h\\wbmbitspixel24 ";
 for ($i = 0; $i < $w; $i++) {
   for ($j = 0; $j < $h; $j++) {
     $color = imagecolorat($image, $j, $i);
     $res .= dechex($color);
   }
 }
 
 $res .= "}";  

 // делал по этому примеру, поменял только размеры и глубину цвета
 //$res = "{\\pict\\wbitmap0\\picw170\\pich77\\wbmbitspixel1 49f2000000000273023d1101a0303901000a000000000273023d9800480002000002750204000020 0010275023e000000000273023d000002b90002b90002b90002b90002b90002b90002b90002b9000 2b90002b90002b92222b90002b90002b90002b90002b90002b90002b90002b90002b9000}";
 
 return $res;
}


Далее код

 $w = 100;
 $h = 100;
 
 $image = imagecreatetruecolor($w, $h);
 $color = imagecolorallocate($image, 255, 0, 0);
 imagefill($image, 0, 0, $color); // заливаем изображение красным

 $rtf_image = makeRTFImage ($image, $w, $h);


Ну и далее запись в файл, но оно там не отображается... В самом файле вроде все нормально написано, если смотреть "исходный код"

{\pict\wbitmap0\picw100\pich100\wbmbitspixel24 ff0000ff0000ff0000[...тут еще много таких hex-ов и вроде все верно означают красный цвет] }

А если раскоментить код в функции, то "изображение-пример" нормально отображается =(


 
Омлет ©   (2010-07-08 13:29) [1]

А если указать еще wbmplanes1 и wbmwidthbytesN, о которых говорится в спецификации?


 
Polkin ©   (2010-07-08 13:45) [2]

Я их опустил, без них пример все равно работает,
сейчас добавил все это к себе в функцию
wbmwidthbytes сделал равным ширине изображения * 3 (т.к. глубина цвета 24 бита) , но чет все равно не хочет =(


 
Омлет ©   (2010-07-08 15:36) [3]

Ну не знаю. Попробуй сначала вручную сформировать.
Я попытался сохранить в вордпаде - он конвертит в wmf зачем-то. AbiWord конвертит сразу в png. Нужен пример wbitmap0 для 24bit.


 
Омлет ©   (2010-07-08 15:53) [4]

http://sourceforge.net/projects/phprtf/ - вроде как умеет вставлять png и jpg.


 
Омлет ©   (2010-07-08 15:58) [5]

Точно умеет, только что проверил.


 
Дмитрий С ©   (2010-07-08 17:45) [6]


> Омлет ©

если несложно выложи пример RTF-а с PNG, который открывается в WordPad-e? У меня не открывается.


 
Омлет ©   (2010-07-08 19:23) [7]

А Wordpad не умеет.


 
Polkin ©   (2010-07-09 10:29) [8]

Да, вчера не успел написать... спер пару функций из этой библиотеки... в ворде показывается нормально, а вордпад не жпег, не пнг не хочет показывать... Потом доделаю как нить =)


 
Дмитрий С ©   (2010-07-09 11:20) [9]

wordpad показывает 32х битные bmp, проверь



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.10.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
11-1224681119
dron9999
2008-10-22 17:11
2010.10.03
не могу установить компонент


15-1278262287
AlexDn
2010-07-04 20:51
2010.10.03
Hello World!


15-1278499536
12
2010-07-07 14:45
2010.10.03
Как компилировать командной строкой? Почему ошибка


15-1277989076
12
2010-07-01 16:57
2010.10.03
Как Вам х.ф. Сумерки.Затмение ?


15-1278348746
SemNic
2010-07-05 20:52
2010.10.03
Могут ли быть проблемы в WIN7 при эксплуатации для проги





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский