Главная страница
    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
3-1245813402
snake-as
2009-06-24 07:16
2010.10.03
Перенос данных из СУБД MySql в Accessй


2-1278664435
Irisss
2010-07-09 12:33
2010.10.03
загрузка файла по двойному щелчку


2-1278329492
Egoor
2010-07-05 15:31
2010.10.03
Условие на расширение открываемого файла


15-1278574649
Polkin
2010-07-08 11:37
2010.10.03
RTF-картинка (PHP)


2-1278501707
DC-AC
2010-07-07 15:21
2010.10.03
Изменить шрифт заголовка окна





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский