Seite 1 von 1

Image-Problem in Beta 4.4

Verfasst: 26.10.2009 19:28
von hth
1. PureBasic - Image example file
ergibt unter XP- nur noch schwarz-weiß-Dartsellung, unter Win2000 zusätzlich verzerrt

2. Bei nachfolgendem Beispiel werden die Bilder nach Resize unter Win2000 zwar richtig im Fenster angezeigt,
aber nur schwarz-weiß und verzerrt abgespeichert.
Unter XP- in Ordnung

Mit PB 4.3 beide Beispiele keinerlei Problem!

Code: Alles auswählen

UseJPEGImageDecoder():UseTIFFImageDecoder():UsePNGImageDecoder()
OpenWindow(0, 100, 100, 400, 250, "PureBasic - Image")

File$ = OpenFileRequester("Bitte Bilddatei zum Laden auswählen","", "(*.bmp)|*.bmp;*.bat|(*.jpg)|*.jpg|(*.png)|*.png",1)
If LoadImage(0,File$)

	vim.f=ImageWidth(0)/ImageHeight(0)  
  
  ResizeImage(0, 200*vim, 200)  
  SaveImage(0,"c:\Versuch.bmp")
        
  Repeat
    EventID = WaitWindowEvent()
    
    If EventID = #PB_Event_Repaint
      StartDrawing(WindowOutput(0))
        DrawImage(ImageID(0), 20, 10)        
      StopDrawing()    
    EndIf
    
  Until EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
EndIf

Re: Image-Problem in Beta 4.4

Verfasst: 27.10.2009 19:17
von Josef Sniatecki
Bei mir wird das Image korrekt gespeichert. Bleibt jedoch der Pfad bei "c:\Versuch.bmp" bekomme ich gar kein Ergebnis (keine Ahnung ob das eine Absicht von Windows ist).

OS: Windows Vista 32Bit
Getestet mit png, jpg und bmp.

Wie es mit 2000 aussieht kann ich leider nicht testen.

Re: Image-Problem in Beta 4.4

Verfasst: 26.11.2009 15:37
von hth
Beide Probleme bestehen auch noch in Beta 4.7!

1. Auch in Windows 7 das gleiche Bild!

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Image example file
;
;    (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;

If OpenWindow(0, 100, 100, 500, 300, "PureBasic - Image")

  If CreateImage(0, 255, 255)

    StartDrawing(ImageOutput(0))
    
    For k=0 To 255
      FrontColor(RGB(k,0, k))  ; a rainbow, from black to pink
      Line(0, k, 255, 0)
    Next

    DrawingMode(#PB_2DDrawing_Transparent)
    FrontColor(RGB(255,255,255)) ; print the text to white !
    DrawText(40, 50, "An image created easely...")

    StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !
    
  EndIf
  
  CopyImage(0, 1)
  ResizeImage(1, 100, 100)
  
  GrabImage(0, 2, 100, 60, 150, 40)

        
  Repeat
    EventID = WaitWindowEvent()
    
    If EventID = #PB_Event_Repaint
      StartDrawing(WindowOutput(0))
        DrawImage(ImageID(0), 20, 10)
        DrawImage(ImageID(1), 320, 80)
        DrawImage(ImageID(2), 320, 200)
      StopDrawing()    
    EndIf
    
  Until EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
  
EndIf

End   ; All the opened windows are closed automatically by PureBasic
2. Betrifft nach wie vor nur Win2000!

hth

Re: Image-Problem in Beta 4.4

Verfasst: 26.11.2009 15:52
von Christian+
@hth Zu 1. gib der Linie mal eine dicke damit sie auch sichtbar wird zumindest bei mir ist dann mit der Farbe alles OK

Code: Alles auswählen

Line(0, k, 255, 1, RGB(k,0, k))
mfg Christian+

Re: Image-Problem in Beta 4.4

Verfasst: 26.11.2009 23:24
von hth
Ja, natürlich muss die Lienienbreite größer als Null sein.
Ist aber der OriginalCode aus den PB-Exembles, der früher funktionierte.
Das eigentliche Problem ist der Resize-Befehl unter Win2000.

hth

Re: Image-Problem in Beta 4.4

Verfasst: 26.11.2009 23:29
von ts-soft
hth hat geschrieben:Ist aber der OriginalCode aus den PB-Exembles, der früher funktionierte.
Da hatten wir auch nen Kaiser :lol:
Evtl. wurde vergessen das Example (Exembles) anzupassen, das ist aber kein Bug!
Resizing unter W2K kann ich leider nicht mehr testen, aber die Linienbreite muß größer
als #NULL sein.