Форум » GUI » hb_getimagesize » Ответить

hb_getimagesize

Dima: Обнаружил что не всегда корректно возвращает размер картинки. Образец картинки https://cloud.mail.ru/public/EH5q/XiVjQ3LbV Ее размеры 640 на 480 а hb_getimagesize дает размер 26112 на 30825 Сырец брал в сырцах Минигуи (понадобилось портировать ее в WVT задачу). ЗЫ Правда я ее слегка переделал , но думаю дело не в этом , так как на 95 % картинок кажет верный размер. Вместо hb_storvni было HB_STORNI [pre2] HB_FUNC( HB_GETIMAGESIZE ) { int x = 0, y = 0; GetImageSize( hb_parcx( 1 ), &x, &y ); hb_reta( 2 ); hb_storvni( x, -1, 1 ); hb_storvni( y, -1, 2 ); } [/pre2] PS Far Manager верно показывает размер как впрочем и графические просмотровщики (редакторы)

Ответов - 6

Dima: Вопрос можно сказать снят. Как я понял эта функция не все "форматы" JPG верно понимает. Почитал занимательную статью http://vbzero.narod.ru/chapter3/article_4.htm PS Если кто хорошо шарит в VB (а там есть сырец) и готов перевести это в сырец Harbour , я готов тестить :)

Dima: Кстати функции из BosTaurus корректно показывают размеры. Я про эти hBitmap := BT_BitmapLoadFile (cfile) nImgWidth := BT_BitmapWidth (hBitmap) nImgHeight := BT_BitmapHeight (hBitmap)

rvu: Dima пишет: Кстати функции из BosTaurus корректно показывают размеры. Большое спасибо! Тоже столкнулся с этой проблемой.


Andrey: А как узнать размер картинки PNG , JPG , BMP находящиеся в ресурсах проги ? HB_GetImageSize не даёт размер. Или надо выгрузить в файл на диск, а потом получать размеры ?

gfilatov2002: Andrey пишет: как узнать размер картинки PNG , JPG , BMP находящиеся в ресурсах проги ? Используй LOCAL aBmpSize := BmpSize( cImage ) LOCAL width := aBmpSize [1] LOCAL height := aBmpSize [2] где переменная cImage содержит имя ресурса

Andrey: Спасибо !



полная версия страницы