Member 13502839 Ответов: 1

Как уменьшить битовую глубину изображения(JPEG) в vb6


я новичок в vb6 , пожалуйста, помогите мне

у меня есть picture box ,когда я пытаюсь показать это изображение в vb6 picture box , то он генерирует ошибку "недопустимое изображение"


Покажите я знаю это проблема битовой глубины изображений

фактическое изображение имеет 32 битную глубину и vb6 хочет 24 битную глубину размер изображений
Итак, как преобразовать 32-битную глубину изображения в 24 через vb6

Что я уже пробовал:

друзья пожалуйста помогите мне ,

этот код я уже использую,но он не работает



'API для растрового массива get/setting
Частная функция объявления GetBitmapBits Lib "gdi32" _
(Бывал hBitmap как долго, dwCount бывал так долго, как lpBits) как долго
Частное объявление функции GetObject Lib "gdi32" псевдоним "GetObjectA" _
(HObject бывал так давно, кол-бывал тех пор, lpObject как нибудь) как долго
Частное объявление функции SetBitmapBits Lib "gdi32" _
(Бывал hBitmap как долго, dwCount бывал так долго, как lpBits) как долго
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Пункт Назначения Как Любой, Источник Как Любой, Длина Бывала Как Долго)


Частный тип BITMAP '14 байт
bmType как долго
bmWidth как долго
bmHeight как долго
bmWidthBytes как долго
bmPlanes как целое число
bmBitsPixel как целое число
bmBits как долго
Тип Конца

Частный ImgHeader в виде растрового изображения

Частные Command1_Click Югу()
Рисунок 1.Picture = LoadPicture("c:\emp4bit.bmp")

Картинка1 Функции Getobject.Изображение, Лен(ImgHeader), ImgHeader

Функцию MsgBox "глубина цвета =" &амп; ImgHeader.bmBitsPixel &ампер; " биты"
MsgBox "байты в строке =" & ImgHeader.bmWidthBytes

Конец Подводной Лодки

Afzaal Ahmad Zeeshan

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

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Цитата:
iam новичок в vb6

Остановись, немедленно! Если вы собираетесь изучить этот материал, не используйте то, что было мертвым в течение довольно долгого времени.

Использование VB.NET вместо этого. Вы можете получить издание сообщества бесплатно от здесь[^].

VB6 научит вас некоторым очень плохим привычкам, от которых вам придется отказаться, если вы хотите продвинуться и перейти на другие языки.