Вопрос, что за его класс на который он ссылается и может уже кто-то пробовал таким способом реализовать?if you using my class you can read the image into memory.
Unless there is some fancy t-sql way to determine the size of the blob,
store the size of the blob in a long field.
retrieve the size.
call :
hglobal=globalalloc(42H,sizeofblob)
lpglobal=globallock(hglobal)
now use the address and size of the allocated memory to call by blobtomem()
method instead of blobtofile() to retrieve the image into memory.
now do:
?image{prop:imageblob}=hglobal
then
globalfree(hglobal)
if the image is a bitmap and in a format such that when written to disk from
disk it can be displayed in a cw image control then this should work too.
you'll have to prototype the global api functions but they are not very
hard. Add error checking. if hglobal or lpglobal are zero, abort.
jim kane
Создание "иконок" для отображения графических файлов
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Надо вывести blob(TPS) без создания файла, нашел заметку http://computer-programming-forum.com/1 ... be07b0.htm от Jim Kan
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
Чтобы вывести BLOB в Image никакого класса не нужно. Просто:
А вот закатать картинку в List из памяти - только при помощи высших сил. Много уже обсуждали здесь это, варианта не нашли. Нужно как-то сохранять на диск.
Код: Выделить всё
?Image2{PROP:ImageBlob} = CON:TheBlob{PROP:Handle}
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Создание "иконок" для отображения графических файлов
Как вариант есть еще манипуляции Image & Blob TPS в библиотеке FreeImage ...
• Load and save images to BLOBs in TopSpeed files.
Не могу сказать решит ли это вопрос привязки изображений к ListBox - но можно посмотреть в эту сторону.
• Load and save images to BLOBs in TopSpeed files.
Не могу сказать решит ли это вопрос привязки изображений к ListBox - но можно посмотреть в эту сторону.
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
Видимо, сейчас это стандарт. FreeImage для этого не нужен:Игорь Столяров писал(а):Как вариант есть еще манипуляции Image & Blob TPS в библиотеке FreeImage ...
• Load and save images to BLOBs in TopSpeed files.
Код: Выделить всё
CON:TheBlob{PROP:Handle} = ?Image1{PROP:ImageBlob}
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Создание "иконок" для отображения графических файлов
С обменом между ?Image и Blob проблем нет, это понятно. Но в FreeImage есть работа с Blob для областей памяти.
Make Clarion Great Again ! 
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Выше c8 появилось в Image, что-то для изменения размера - Rescale? Может чего-то упустил. Сам использую FreeImage А вдруг... 
Код: Выделить всё
cfiObject1.iImage.Rescale(W, H, R)

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
А что понимается под Rescale? Я не в курсе, FreeImage не пользую.
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Изменение размера картинки, например с 800х600 на 640х480kreator писал(а):А что понимается под Rescale?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
В библиотеке ClaRunExt есть функция ImageSaveThumbnail, которая (по описанию) уменьшает графический файл, в параметрах - процент уменьшения. Работает с файлом. Сам не использовал, поэтому может быть на выходе файл в формате PNG. Пользую функцию ImageRotateFlip из этого пакета, на выходе файл PNG несмотря на то, что на входе JPG, допустим. Вот так.
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
хоть что-то, жаль что только в %
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 1038
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Создание "иконок" для отображения графических файлов
ImageEx... позвоялет размер указать не в %gopstop2007 писал(а):хоть что-то, жаль что только в %
http://forum.clarionlife.net/phpbb/viewtopic.php?t=2293
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
я знаю, выше написал, меня интересовало на самом кларионе, без внешних библиотек

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Создание "иконок" для отображения графических файлов
А в чём проблема? Нужно чтобы все картинки преобразовывались в 640х480? Или с изменением отношения сторон?
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Создание "иконок" для отображения графических файлов
Рекурсия?!
Сейчас меня админ убьет... http://forum.clarionlife.net/phpbb/post ... 04#pr24403

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 1038
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Создание "иконок" для отображения графических файлов
Что-то я нить потерял...
Что требуется-то сделать чиcтыми средствами клариона с картинкой?
1. при отображении из blob размер менять на окне? судя по хелпу с10 "How to Store and Display a Graphic Image with a Memo or Blob Data Type
":
2. Отображать, преобразовывать и сохранить в другой размер/тип?
Что требуется-то сделать чиcтыми средствами клариона с картинкой?
1. при отображении из blob размер менять на окне? судя по хелпу с10 "How to Store and Display a Graphic Image with a Memo or Blob Data Type
":
Код: Выделить всё
?Image2{PROP:Width} = 92
?Image2{PROP:Height} = 88