PictureBox --> Gif, Jpeg etc

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

PictureBox --> Gif, Jpeg etc

Сообщение SmarT » 26.10.2003 (Вс) 6:48

Как програмно уменьшить вес картинки? Вернее, как сделать из bmp, например, gif или jpg ? Суть в том, что я экспортирую из проги снимок пикчербокса и больно много он весит...
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.10.2003 (Вс) 6:54

...
Вложения
SaveInDiffFormats.rar
Сохранение в разных форматах
(27.55 Кб) Скачиваний: 138
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 26.10.2003 (Вс) 7:13

огромная пасиба!!! правда ниче не работает :), но щас буду разбираться. еще раз, пасиба!
http://smarticq.net - Все про и для ICQ.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 26.10.2003 (Вс) 7:24

почему-то не работает ни ехе-шник, ни сам код. То есть в бмп он сохраняет конечно, тк на бмп там стоит код как у меня (savepicture), а вот с остальными проблема... Это твои классы, не подскажешь, что там да как? плииз...
http://smarticq.net - Все про и для ICQ.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.10.2003 (Вс) 7:56

Так это не мои классы :)

Так, посмотрим...
Загрузка картинок работает...
Сохрание обламывается...
Стрянно. ща поковыряем...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.10.2003 (Вс) 8:06

Поковырял :)
Кодяра работает, экзешник нет :shock:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 26.10.2003 (Вс) 8:40

стрянно, а у мя ниче не пашет. еще и в коде говорит что не знает Space$(x)... стрянно... не знаешь отчего такое могет быть?
http://smarticq.net - Все про и для ICQ.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 26.10.2003 (Вс) 11:21

Если код работает - екзешник нет, может попробовать скомпилить в P-code?

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 26.10.2003 (Вс) 18:01

дык говорю, что код у меня не работает в том проекте, когда все переношу в свой, все вроде пашет, никаких ошибок, тока на вызов функции говорит что не удалось :(. хелп!!!!
http://smarticq.net - Все про и для ICQ.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 26.10.2003 (Вс) 18:26

кстати, не в тему, а что такое p-code и ваще какая разница между тем как компайлить?
http://smarticq.net - Все про и для ICQ.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 27.10.2003 (Пн) 10:23

P-code - полностью работает через MSVBVM60.DLL, то есть полный интерпретатор. Работает медленнее, но EXE-шник выходит меньше и ближе соответствует запуску программы прямо из среды VB. Native использует MSVBVM60.DLL частично. Насколько знаю, вся математика компилится напрямую, отсюда высокое быстродействие, разница может быть в несколько раз.

SmarT
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 18.12.2002 (Ср) 19:39
Откуда: Королёв, Россия

Сообщение SmarT » 27.10.2003 (Пн) 15:16

спасибо!
http://smarticq.net - Все про и для ICQ.

Vadim_n
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 06.07.2009 (Пн) 17:17

Re: PictureBox --> Gif, Jpeg etc

Сообщение Vadim_n » 19.11.2011 (Сб) 19:17

У меня нужная мне картинка в переменной Dim Pict As IPictureDisp
сохраняю хоть в bmp хоть gif всеравно делает фаил размером почти 4 метра
SavePicture Pict, "C:\test.gif"
Как мне сохраняя сжать размер файла хотябы до 1 метра, потеря качества нестрашно
Тока нужен не код на 3 страницы а какнибудь в пару строк плиз

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: PictureBox --> Gif, Jpeg etc

Сообщение Mikle » 20.11.2011 (Вс) 9:14

То, что ты даёшь файлу расширение ".gif", не делает файл GIF-ом, это всё тот же .BMP, VB6 не может сохранять в других форматах.
Сохраняй с помощью GDI+ во что хочешь - JPG, PNG, BMP, GIF, TIFF.

Правка:
Vadim_n, ну ты и некропостер!

Vadim_n
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 06.07.2009 (Пн) 17:17

Re: PictureBox --> Gif, Jpeg etc

Сообщение Vadim_n » 22.11.2011 (Вт) 18:59

А можно просто уменьшить размер при сохранении? (формат мне всеравно какой будет) Может пережимать ненужно в другой формат?

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: PictureBox --> Gif, Jpeg etc

Сообщение ger_kar » 22.11.2011 (Вт) 19:35

Vadim_n писал(а):А можно просто уменьшить размер при сохранении?

Можно уменьшить разрешение, тогда без изменения формата и соответственно сжатия, которое этим форматом используется, как раз сам размер картинки и уменьшится.
Бороться и искать, найти и перепрятать

Vadim_n
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 06.07.2009 (Пн) 17:17

Re: PictureBox --> Gif, Jpeg etc

Сообщение Vadim_n » 22.11.2011 (Вт) 20:56

как можно уменьшить размер сохраняя пропорции? Только нужно маленький код в несколько строк, типа такого:

Код: Выделить всё
Set Pict = Clipboard.GetData(vbCFBitmap)  ' Помещаем всё, что лежит в буфере обмена в переменную Pict
    SavePicture Pict, "C:\test.gif"    ' Сохраняем всё в нужный файл
   
    Picture1.Picture = LoadPicture ("C:\test.gif") 
    Label1.Caption = Picture1.Width
    Label1.Caption = Val(Label1.Caption) / Val(2)
    Label2.Caption = Picture1.Height
    Label2.Caption = Val(Label2.Caption) / Val(2)
    Picture2.PaintPicture Picture1, 0, 0, Label1.Caption, Label2.Caption, 0, 0, , , vbSrcCopy
    SavePicture Picture2.Image, "C:\test2.gif"


только чтобы правильно работал и желательно сохранялся только сжатый фаил без промежуточных

Vadim_n
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 06.07.2009 (Пн) 17:17

Re: PictureBox --> Gif, Jpeg etc

Сообщение Vadim_n » 23.11.2011 (Ср) 10:21

Как можно уменьшить размер прямо в переменной Pict сохраняя пропорции?

Vadim_n
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 06.07.2009 (Пн) 17:17

Re: PictureBox --> Gif, Jpeg etc

Сообщение Vadim_n » 04.12.2011 (Вс) 19:24

Подскажите пожалуйста как можно с переменой сохранить картинку с помощью GDI+ или чевото ещё в формате джипег или гиф, и при сохранении уменьшить размер картинки сохраняя пропорции например была 1024 на 768 а сохранили 800 на 600?

tav
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 28.05.2010 (Пт) 6:48

Re: PictureBox --> Gif, Jpeg etc

Сообщение tav » 04.12.2011 (Вс) 20:59

ищи на форуме по слову "StretchBlt"

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: PictureBox --> Gif, Jpeg etc

Сообщение Mikle » 05.12.2011 (Пн) 10:15

Vadim_n писал(а): как можно с переменой сохранить картинку с помощью GDI+

Это два разных действия - изменение размера, потом сохранение.
Как уже подсказали, для изменения размера можно применить StretchBlt, есть более медленный, но более качественный вариант:
viewtopic.php?f=28&t=38123


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 71

    TopList