Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Форматы JPG,GIF Добавлено: 01.08.05 09:53  

Автор вопроса:  Vit | Web-сайт: www.home-soft.jino-net.ru
Проблема:
В VB встроена возможность чтения форматов JPG,GIF. Как сделать так, чтобы я имел возможность записи в эти форматы?
SavePicture записывает только в формате BMP.
У менять есть пример для работы с рисунками, в том числе с возможностью, но:
 - пример громоздкий;
 - не всегда срабатывает (особенно при DEBUG'е программы, а потом и вообще)
Этот пример использует Microsoft'ские файлы с реализациями этих алгоритмов и к ним нужно обращаться через адреса функций. А это не всегда срабатывает так, как нужно.
Использовать функции как API-функции не получится:
Declare Function ...


Вопрос:
Как реализовать возможность преобразования в форматы JPG,GIF. Если нет таких способов, то, может быть у кого-нибудь найдутся алгоритмы JPG-сжатия, точнее матрицы преобразования? Их несколько вариаций (каждая фирма реализует собственные).

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 AlexF



Вопросов: 20
Ответов: 113
 Профиль | | #1 Добавлено: 01.08.05 13:29
Est' dll: SAVTOJPG.DLL
Rabotaet stabil'no. Poishi ee. Mogu vislat' na e-mail.

Ответить

Номер ответа: 2
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #2
Добавлено: 02.08.05 04:19
Вышли мне если не тяжело. Спасибо

SofterSoft@narod.ru

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 02.08.05 22:41
Сохранение с PictureBox в GIF

http://www.webfile.ru/437563

Довольно удобный пример, всё оформелено ввиде одного класса.

Ответить

Номер ответа: 4
Автор ответа:
 Vit



Вопросов: 68
Ответов: 62
 Web-сайт: www.home-soft.jino-net.ru
 Профиль | | #4
Добавлено: 04.08.05 13:25
Вопрос к AlexF и тем кто ещё, когда-либо использовал библиотеку SAVTOJPG.DLL?
Его функции:

Private Declare Sub Bmp2Jpg Lib "savtojpg.dll" (ByVal FileName1 As String, ByVal FileName2 As String)
Private Declare Sub SaveToJpg1 Lib "savtojpg.dll" (ByVal hgd As Long, ByVal FileName As String, ByVal Height As Long, ByVal Width As Long)
Private Declare Sub SaveToJpg2 Lib "savtojpg.dll" (ByVal hgd As Long, ByVal FileName As String, ByVal Height As Long, ByVal Width As Long)

На счёт SaveToJpg2 не уверен, но ошибок, по крайней мере, не было. Мне важно узнать значение первого параметра из SaveToJpg1
ByVal hgd As Long
.
Я перебрал все возможные вариатнты (свойства PictureBox):
 - Picture
 - hDC
 - Image
Но результата не было. Хотя, при использовании hDC в выходной файл перекидывался снимок текущего изображения на экране с некоторым смещением. Но это не то. В остальных случаях в выходном файле оказывается "белая картина".

Что должно передаваться в качестве первого параметра этой функции?

Ответить

Номер ответа: 5
Автор ответа:
 AlexF



Вопросов: 20
Ответов: 113
 Профиль | | #5 Добавлено: 06.08.05 15:46
vot manual k dll:

Функция SaveToJpg1 .
Эта процедура сохраняет графику, находящуюся в формах, PictureBox-ах и других графических компонентов.
Объявление процедуры (VB):
Private Declare Sub SaveToJpg1 Lib "c:\savtojpg.dll" (ByVal hgd As Long, ByVal FileName As String, _
ByVal Height As Long, ByVal Width As Long)
Параметры:
    Hgd - описатель графического устройства (Например Picture1.HDc)
    FileName - имя файла
    Height, Width - размеры картинки в поинтах.

Функция SaveToJpg2 .

Эта процедура сохраняет графику, находящуюся в формах, PictureBox-ах и других графических компонентов.
Объявление процедуры:
Private Declare Sub SaveToJpg2 Lib "c:\savtojpg.dll" (ByVal hWind As Long, ByVal FileName_
As String, ByVal Height As Long, ByVal Width As Long)
Параметры:
    HWind - описатель окна (например Picture1.HWnd)
    FileName - имя файла
    Height, Width - размеры картинки в поинтах.

Функция Bmp2Jpg.

Эта процедура пребразует файл BMP в JPG.

Объявление процедуры:
Private Declare Sub Lib "c:\savtojpg.dll" (ByVal f1 As String, ByVal f2 As String)
Параметры:
    F1 - Имя файла BMP
    F2 - Имя файла JPG

Пример использования.
'Допустим у нас на форме есть командная кнопка и PictureBox
'В разделе Declaration модуля формы.

Private Declare Sub SaveToJpg1 Lib "c:\savtojpg.dll" (ByVal hgd As Long, ByVal FileName As String, _
ByVal Height As Long, ByVal Width As Long)
Private Declare Sub SaveToJpg2 Lib "c:\savtojpg.dll" (ByVal hWind As Long, ByVal FileName_
As String, ByVal Height As Long, ByVal Width As Long)
Private Declare Sub Lib "c:\savtojpg.dll" (ByVal f1 As String, ByVal f2 As String)

'Реакция на какое-нибудь событие , например - нажатие кнопки.
Private Sub Command1_Click
    'Сохраняем содержимое PictureBox'a
  SaveToJpg1 (Picture1.HDc, "c:\hello.jpg", picture1.ScaleHeight, Picture1.ScaleWidth)
   'Сохраняем содержимое рабочего стола
 SaveToJpg2 (0, "c:\desktop.jpg",800,600)
  'Преобразовываем картинку BMP в JPG
Bmp2Jpg ("MyBMP.bmp","MyJPG.jpg";)

Ответить

Номер ответа: 6
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #6
Добавлено: 14.08.05 18:35
2 AlexF: так Vit перебрал же варианты:
Я перебрал все возможные вариатнты (свойства PictureBox):
 - Picture
 - hDC
 - Image
(или плохо перебирал) :))

Ответить

Номер ответа: 7
Автор ответа:
 AlexF



Вопросов: 20
Ответов: 113
 Профиль | | #7 Добавлено: 14.08.05 20:28
Ne znayu, u menia rabotalo normalno.

Ответить

Номер ответа: 8
Автор ответа:
 Vit



Вопросов: 68
Ответов: 62
 Web-сайт: www.home-soft.jino-net.ru
 Профиль | | #8
Добавлено: 15.08.05 18:32
Всё, проблема решена.
Я нашёл исходники, переписал на С++, добавил пару новых функций.
Короче, если кто захочет скачать, то можете сделать это с http://www.home-soft.land.ru/programs/vav/JPG.rar

Ответить

Номер ответа: 9
Автор ответа:
 Vit



Вопросов: 68
Ответов: 62
 Web-сайт: www.home-soft.jino-net.ru
 Профиль | | #9
Добавлено: 15.08.05 18:44
Не, не получилось. Кинул архив на сервер, а он ещё к нему какой-то код HTML приписал. Вообщем всё запорол...

Ответить

Номер ответа: 10
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #10
Добавлено: 15.08.05 19:01
угу... давай мне на мыло... я могу выложить на ftp'шник...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам