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

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

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

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

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

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

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

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

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

12
10 / 10 / 0
Регистрация: 28.05.2012
Сообщений: 69
09.07.2012, 00:29 2
Вы знаете, может я и ошибаюсь, но фотошоп творит чудеса когда нужно поменять расширение (лично у меня всегда работало) так что советую вам его здесь применить.
0
Заблокирован
09.07.2012, 07:07 3
oxpannik, вообще не о чем! Говорит же программно!
1
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
10.07.2012, 00:35 4
Лучший ответ Сообщение было отмечено как решение

Решение

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

Добавлено через 11 минут
А все, разобрался, спасибо, работает!
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
10.07.2012, 12:51 6
Я 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  [ТС] 7
Цитата Сообщение от locm Посмотреть сообщение
Я VB6 не очень хорошо знаю. Наверное так.
Visual Basic
1
Declare Function PngToBmp Lib "PngToBmp.dll" (ByVal File As String) As Long
Private забыл

Добавлено через 2 минуты
locm на чем dll написал?
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
10.07.2012, 13:31 8
Цитата Сообщение от 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  [ТС] 9
locm, а что нужно изменить, чтобы в jpg конвертировало?
0
Anastttasiya
11.07.2012, 12:44 10
А я просто открываю рисунок в "bmp" формате в paint,а потом щёлкаю - сохранить как и выбираю нужный формат например "jpg" и без всяких кодов))))
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
11.07.2012, 12:50  [ТС] 11
И что, мне теперь каждую png картинку через paint конвертировать в bmp или jpg, а потом программой на обои ставить XD
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
11.07.2012, 16:36 12
Цитата Сообщение от 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 Кб, 89 просмотров)
2
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 33
11.07.2012, 22:02  [ТС] 13
класс! спасибо!
0
11.07.2012, 22:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2012, 22:02
Помогаю со студенческими работами здесь

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

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

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

Сохранение изображения в различных форматах (jpg, png, bmp)
Здравствуйте! Имеется объект класса Image. Как мне выбрать формат сохранения изображения (jpg, bmp,...

Как вывести в окно картинку jpg, png и др. (кроме .bmp) и звук, кроме WAV
Заранее спасибо за рабочий пример!

Преобразовать bmp в png и обратно
Добрый день, форумчане! Для одной программы мне понадобилась такая функция для преобразовния bmp в...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru