purebasic.info
http://purebasic.info/phpBB3ex/

Глюк компилятора с UseGIFImageDecoder()
http://purebasic.info/phpBB3ex/viewtopic.php?f=14&t=4772
Страница 1 из 1

Автор:  amer [ Вс окт 01, 2017 12:45 am ]
Заголовок сообщения:  Глюк компилятора с UseGIFImageDecoder()

Приветствую всех!
под windows 10 работает, а вот в xubuntu не хочет при следующих обстоятельствах:
перетаскиваю картинку в gif-формате, нажимаю кнопку перекодирования "350" и получаю предупреждение в строке 170

в чём трабл? и что делать?
исходники прилагаются: https://yadi.sk/d/CTlutp4Y3NMdpa

p.s. неужто ни у кого нет идей?

Автор:  Пётр [ Пн окт 02, 2017 4:01 pm ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

С gif нормально не работает ResizeImage http://www.purebasic.fr/english/viewtop ... =4&t=69002
Нужно выбрать кадр функцией SetImageFrame который будет сохраняться.

Автор:  amer [ Вт окт 03, 2017 12:46 am ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

Спасибо Пётр!
сделал ход конем:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Procedure resize(size)
  For i=1 To CountGadgetItems(#ListFiles)
    FileName$ = GetGadgetItemText(#ListFiles, i-1)
    Extension$ = LCase(GetExtensionPart(Filename$))
    If Extension$ = "gif"
      LoadImage(0, Filename$)
      SetImageFrame(0, 0)
      CopyImage(0, #Img)
      FreeImage(0)
    Else
      LoadImage(#Img, Filename$)
    EndIf
    m.f = ImageWidth(#Img)/ImageHeight(#Img)
    ResizeImage(#Img, size, size/m)
    Select Extension$
      Case "jpg", "jpeg"
        ImageFormat = #PB_ImagePlugin_JPEG
      Case "png"
        ImageFormat = #PB_ImagePlugin_PNG
      Default
        ImageFormat = #PB_ImagePlugin_PNG
        DeleteFile(Filename$)
        Filename$ = Left(Filename$, Len(Filename$)-Len(Extension$)) + "png"
    EndSelect
    SaveImage(#Img, Filename$, ImageFormat, Val(GetGadgetText(#Spin_0)))
    FreeImage(#Img)
  Next i
  If GetGadgetState(#Checkbox_0)=1: ClearGadgetItems(#ListFiles): EndIf
  If GetGadgetState(#Checkbox_1)=1: End: EndIf
EndProcedure
 


вроде, не ругается... на этой строке, а вот в других местах - беда

Автор:  newJS [ Вт окт 03, 2017 6:23 am ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

а если создать новую картинку или на канвас кидать и уже их ресайзить
или взять прогу которая анимацию делает и ей сохранить все кадры :D

Автор:  Пётр [ Вт окт 03, 2017 12:35 pm ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

amer писал(а):
вот в других местах
В других местах это где?

Автор:  amer [ Вт окт 03, 2017 11:01 pm ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

когда кидаю гиф всё проходит без ошибок, но тутже закидываю любую другую и при добавлении в лист выскакивает ошибка на строке: LoadImage(i, Filename$)
т.е. получается что не все имеджи освободились...

ХА! Семен Семеныч... при добавлении же в лист тоже ресайзится, соответственно тоже нужно через фрайм... :oops:
ща попробую

Автор:  amer [ Ср окт 04, 2017 12:07 am ]
Заголовок сообщения:  Re: Глюк компилятора с UseGIFImageDecoder()

я на яндекс диске грохну файл
куда положить рабочую версию, вдруг кому понадобится?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/