Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Сохранить Gif Добавлено: 05.02.07 18:34  

Автор вопроса:  Djon | Web-сайт: www.vk-book.ru
Привет всем!
У меня возникла проблема как сохранить картинку в формате Gif, трудность в том что картинка состоит из нескольких слайдов она анимированная.
Как это сделать?
Спасибо.

Ответить

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

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



Вопросов: 60
Ответов: 808
 Профиль | | #1 Добавлено: 05.02.07 19:29
См. в примерах открытие анимированного GIF, оттуда понимаем формат файла и пишем сохранялку. Стандартных средств(api) нет. Если не смог гуглом найти библу, пиши код сам. Specs тебе в помощь.

Ответить

Номер ответа: 2
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #2
Добавлено: 06.02.07 01:05
Может такой пример натолкнет, на решение.
http://rus-skipper.narod.ru/raznoe/howto_show_animated_gif.zip
А вообще, посмотри страницу
http://www.vb-helper.com/index_graphics.html#animation
может что подсмотришь.

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 06.02.07 12:17
уточните пожалуйста свой вопрос: из какого источника предполагается брать animated gif для дальнейшего сохранения? если имеется ввиду создание gif из отдельных рисунков, то без изучения gif-формата файлов ничего не сделать. описание алгоритма анимированного gif в сети часто встречается даже на русском языке. там помимо всех тонкостей помню, что для сжатия графики используется lzw-алгоритм.

Ответить

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



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #4
Добавлено: 06.02.07 13:28
У меня на форме допустим 3 пикчебокса, нужно их собрать в один Gif файл, в котором они бидут сменяться через n секунд.

Ответить

Номер ответа: 5
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #5
Добавлено: 06.02.07 18:08
Djon если еще не потерял интерес,
просто напиши "ХОЧУ" и я на этот емл.
дам ссылку на зип. Там программа которая открывает и сохраняет в любой формат.
DLL прилагается.

Ответить

Номер ответа: 6
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #6 Добавлено: 06.02.07 18:09
а слабо юзать чужие решения? Ну хоть Babarosa Gif Animator или ченить в этом роде?

Ответить

Номер ответа: 7
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #7
Добавлено: 06.02.07 18:26
или вот может этого хватит?
SaveAnimationFileAs filename

' Save the file
Public Sub SaveAnimationFileAs(filename As String)
Dim rcode As Long
Dim tempimage As imgdes
Dim bmh As BITMAPINFOHEADER
Dim fileType As String
Dim savemode As Long

    On Error Resume Next
    Screen.MousePointer = 11  ' Display the hourglass mouse pointer.
    savemode = 0  ' standard lzw
    
   For j = 0 To numframes - 1
      If (framesarray(j).frameimgdes.buffwidth = 0) Then
           GoTo nextj
      End If
      
      getbmhfromimage bmh, framesarray(j).frameimgdes
       
      If (bmh.biBitCount = 24) Then ' If we have a 24-bit image, convert to 8-bit palette color
         ' because gif only supports up to 8-bit pixel depth
         
          Dim colors As Long
          Dim reduction_mode As Long
          
          rcode = allocimage(tempimage, bmh.biWidth, bmh.biHeight, 8)
          If (rcode = NO_ERROR) Then
            rcode = standardpalette(tempimage)
            reduction_mode = CR_TSDDIFF   ' For the best image quality
            rcode = matchcolorimageex(framesarray(j).frameimgdes, tempimage, reduction_mode)
            If (rcode = NO_ERROR) Then
               rcode = savegifframe(filename, tempimage, gdata.savedata, fdataarray(j).savedata, savemode) ' Save 8-bit version of original image
            End If
            freeimage tempimage  ' Release 8-bit version of original image
          End If
          
      Else
         rcode = savegifframe(filename, framesarray(j).frameimgdes, gdata.savedata, fdataarray(j).savedata, savemode) ' Save original image
      End If

      If (rcode <> NO_ERROR) Then
         GoTo done
      End If
      
nextj:

   Next j
    
done:

    Screen.MousePointer = 0   ' Reset the mouse pointer.
    
    ' Handle any errors
    If rcode <> NO_ERROR Then
        error_handler rcode, filename
    End If
    
End Sub

Удачи

Ответить

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



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #8
Добавлено: 07.02.07 19:01
Djon если еще не потерял интерес,
просто напиши "ХОЧУ" и я на этот емл.
дам ссылку на зип. Там программа которая открывает и сохраняет в любой формат.
DLL прилагается.

ХОЧУ

ЗЫ буду признателен

Ответить

Номер ответа: 9
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #9
Добавлено: 07.02.07 21:49
http://rus-skipper.narod.ru/raznoe/anima.zip
Качай.-164060 Б

Ответить

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



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #10
Добавлено: 08.02.07 11:44
Спасибо большое.

Ответить

Страница: 1 |

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



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