Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33

Как преобразовать рисунок из "png" в "bmp" или в "jpg"?

08.07.2012, 22:36. Показов 5260. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программка, которая ставит обои рабочего стола на выбор пользователя, она может поставить только "jpg" и "bmp", так как "png" тоже часто используемый формат, нужно сконвертировать в один из доступных форматов и положить в какую-нибудь папку. Если у вас есть пример программы, которая ставит обои рабочего стола с поддержкой формата "png", тоже можете выложить тут. Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.07.2012, 22:36
Ответы с готовыми решениями:

Преобразовать JPG или PNG в BMP
Есть код: if(clk == "jpg" || clk == "JPG" || clk == "JPEG" || clk == "jpeg") { try { jpg->LoadFromStream(s); ...

На листе находится рисунок; можно ли сохранить этот рисунок из книги, как отдельный bmp или jpg файл?
1. На листе находится рисунок. Можно ли, сохранить этот рисунок из книги как отделений Bmp или jpg файл. И еще один вопрос: Можно...

Сохранить рисунок в bmp или jpg
Всем привет, собсно такой вопрос... Делаю лабораторную работу по графике, нарисовал при помощи GDI все что нужно было ... квадритики...

12
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
09.07.2012, 00:29
Вы знаете, может я и ошибаюсь, но фотошоп творит чудеса когда нужно поменять расширение (лично у меня всегда работало) так что советую вам его здесь применить.
0
Заблокирован
09.07.2012, 07:07
oxpannik, вообще не о чем! Говорит же программно!
1
Эксперт по электронике
6562 / 3189 / 335
Регистрация: 28.10.2011
Сообщений: 12,470
Записей в блоге: 7
10.07.2012, 00:35
Лучший ответ Сообщение было отмечено как решение

Решение

Набросал на скорую руку DLLку (всего 12 строк кода), конвертирующую PNG в BMP.
В ней экспортируется одна функция, с именем PngToBmp. Функции следует передать полный путь к PNG рисунку и в той же папке будет создан рисунок с аналогичным именем, BMP формата. Если функция отработала нормально, то результат будет не нулевой.
Вложения
Тип файла: rar PngToBmp.rar (60.5 Кб, 212 просмотров)
5
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
10.07.2012, 12:47  [ТС]
Как dll подключить??

Добавлено через 11 минут
А все, разобрался, спасибо, работает!
0
Эксперт по электронике
6562 / 3189 / 335
Регистрация: 28.10.2011
Сообщений: 12,470
Записей в блоге: 7
10.07.2012, 12:51
Я VB6 не очень хорошо знаю. Наверное так.
Visual Basic
1
Declare Function PngToBmp Lib "PngToBmp.dll" (ByVal File As String) As Long
0
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
10.07.2012, 13:14  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Я VB6 не очень хорошо знаю. Наверное так.
Visual Basic
1
Declare Function PngToBmp Lib "PngToBmp.dll" (ByVal File As String) As Long
Private забыл

Добавлено через 2 минуты
locm на чем dll написал?
0
Эксперт по электронике
6562 / 3189 / 335
Регистрация: 28.10.2011
Сообщений: 12,470
Записей в блоге: 7
10.07.2012, 13:31
Цитата Сообщение от Dimansel Посмотреть сообщение
на чем dll написал?
На PureBasic.
Исходник.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
ProcedureDLL AttachProcess(Instance)
  UsePNGImageDecoder()
EndProcedure
 
ProcedureDLL PngToBmp(File.s)
  Result = LoadImage(0, File)
  If Result
    Result = SaveImage(0, Left(File, Len(File)-Len(GetExtensionPart(File)))+"bmp", #PB_ImagePlugin_BMP)
    FreeImage(0)
  EndIf
  ProcedureReturn Result
EndProcedure
1
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
11.07.2012, 12:33  [ТС]
locm, а что нужно изменить, чтобы в jpg конвертировало?
0
Anastttasiya
11.07.2012, 12:44
А я просто открываю рисунок в "bmp" формате в paint,а потом щёлкаю - сохранить как и выбираю нужный формат например "jpg" и без всяких кодов))))
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
11.07.2012, 12:50  [ТС]
И что, мне теперь каждую png картинку через paint конвертировать в bmp или jpg, а потом программой на обои ставить XD
0
Эксперт по электронике
6562 / 3189 / 335
Регистрация: 28.10.2011
Сообщений: 12,470
Записей в блоге: 7
11.07.2012, 16:36
Цитата Сообщение от Dimansel Посмотреть сообщение
locm, а что нужно изменить, чтобы в jpg конвертировало
Если кратко, то нужно добавить после UsePNGImageDecoder(), функцию UseJPEGImageEncoder() чтобы была возможность сохранить рисунок в JPG формате и флаг #PB_ImagePlugin_BMP заменить на #PB_ImagePlugin_JPEG. При этом можно еще указать качество сохраняемого изображение (чем хуже качество, тем меньший вес имеет файл).
Пока поддерживается только настройка качества изображения: число от 0 (худшее качество) до 10 (максимальное качество). Только плагины JPEG и JPEG 2000 на данный момент поддерживают его (по умолчанию качество установлено в '7', если не заданы никакие флаги).
Подробней можно прочитать в справке. http://purebasic.ru/manual.php?id=620&lng=rus

В библиотеку была добавлена еще онда функция.
PureBasic
1
PngToJpg(File.s, Flag)
Первый аргумент - путь к файлу, а второй - качество (допустимые значения от 0 до 10).
Исходник DLL.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ProcedureDLL AttachProcess(Instance)
  UsePNGImageDecoder()
  UseJPEGImageEncoder()
EndProcedure
 
ProcedureDLL PngToBmp(File.s)
  Result = LoadImage(#PB_Any, File)
  If Result
    Result = SaveImage(Result, Left(File, Len(File)-Len(GetExtensionPart(File)))+"bmp", #PB_ImagePlugin_BMP)
    FreeImage(Result)
  EndIf
  ProcedureReturn Result
EndProcedure
 
ProcedureDLL PngToJpg(File.s, Flag)
  Result = LoadImage(#PB_Any, File)
  If Result
    Result = SaveImage(Result, Left(File, Len(File)-Len(GetExtensionPart(File)))+"jpg", #PB_ImagePlugin_JPEG, Flag)
    FreeImage(Result)
  EndIf
  ProcedureReturn Result
EndProcedure
Вложения
Тип файла: rar PNG_Lib.rar (78.2 Кб, 103 просмотров)
3
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
11.07.2012, 22:02  [ТС]
класс! спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2012, 22:02
Помогаю со студенческими работами здесь

Преобразовать .raw в .png или .jpg
Здравствуйте) у меня програма тянит скриншот екрана с буфера... и записевает в ss.raw... как мне преобразовать етот файл в .png или .jpg ...

Как сделать программно из BMP (JPG, PNG) - ICO
Как сделать из bmp - ico? Все мы знаем что есть функция Save у объекта Bitmap. Что я не пробовал, итог один- при назначении любой...

Как сохранить рисунок из Word'a в отдельный файл (*.bmp; *.jpg; *.gif ...)
Конечно, есть вариант сохранить страницу как html и просматривать папку .files. Но мне этот путь не очень нравиться... Cоздал...

ListView загрузка изображения (jpg, png, bmp)
Всем привет! Всех с праздником! Есть код: FMX procedure TForm1.Button1Click(Sender: TObject); var

Сохранение изображений в формате png, gif, jpg, bmp
Сохраняя изображение из PictureBox в файл мы получаем несжатый битовый образ независимо от того какое расширение файла указываем. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru