Seite 1 von 1

ImageGadget - #PB_Image_Raised

Verfasst: 28.01.2015 20:13
von Josh
Bevor ich es im englischen Bug-Forum poste, bitte um Bestätigung:

Wenn ich ein Imagegadget mit #PB_Image_Raised erstelle, dann ist das Image im Verhältnis zum Rahmen um 1 Pixel in X und 1 Pixel in Y-Richtung verschoben.

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If LoadImage(0, "C:\Test.bmp")
      ImageGadget(0,  10, 10, 48, 48, ImageID(0))
      ImageGadget(1,  90, 10, 48, 48, ImageID(0), #PB_Image_Border)
      ImageGadget(2, 170, 10, 48, 48, ImageID(0), #PB_Image_Raised)
    EndIf
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Hier das Ergebnis bei einem 48x48 Bmp
Bild


Getestet unter:
Win7 64
PB 5.31 86+64

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 11:01
von Lord
Das ist nicht verwunderlich.
Damit soll das Image als erhaben (raised) dargestellt werden.
Wie willst Du sonst eine 3D-ähnliche Darstellung erreichen?

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 12:47
von Josh
Egal ob erhaben oder versenkt. Der 'Rand' ist immer zwei Pixel, nur die Farben sind anders.
Probier es einfach mal, indem du bei den drei ImageGadgets die ImageId auf 0 setzt, dann siehst du es, wie es auszusehen hätte.

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 13:29
von dösbaddel
Moin Josh,

bei mir (pb 5.24 win32) verhält sich alles wie erwartet.
Habe deinen Code mal etwas verändert:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 450, 200, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  If CreateImage(0, 128, 128, 32, RGB(0,0,255))
    StartDrawing(ImageOutput(0))
    Box(1,1,126,126,RGB(255,0,0))
    StopDrawing()
    ImageGadget(0,  10, 10, 128, 128, ImageID(0))
    ImageGadget(1,  148, 10, 128, 128, ImageID(0), #PB_Image_Border)
    ImageGadget(2, 286, 10, 128, 128, ImageID(0), #PB_Image_Raised)
  EndIf
  
  For i=0 To 2
    Debug "Imagegadget "+Str(i)+": "+Str(GadgetWidth(i))+" * "+Str(GadgetHeight(i))
  Next
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  
EndIf
Das Image wird überall korrekt dargestellt. Wäre es verschoben, würde man den blauen 1-Pixel-Rand nicht mehr vollständig sehen. Bei 'Border' und 'Raised' wird ein 2-Pixel-Rahmen ergänzt, um den Tiefeneffekt zu erzeugen. Habe auch einen Screenshot in einer Grafikbearbeitung herangezoomt - alles bestens. Passt das bei dir nicht?

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 14:02
von Chimorin
Ich glaube Josh hat Recht. Entweder es sieht wirklich nur so aus, oder das Imagegadget verhunzt da was.

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 14:19
von bobobo
#PB_Image_Raised verschiebt das Bild um einen Pixel nach rechts und unten, so dass links
und oben ein dreipixel-Rand entsteht und rechts und unten ein einpixeliger bleibt.

[win7 64bit pb531(x86)]

Ist wohl ein Käfer und Josh darf den kundtun.
ff code ausführen und mit das Ergebnis mit der Bildschirmlupe angucken.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 450, 200, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  If CreateImage(0, 128, 128, 32, RGB(0,0,255))
    StartDrawing(ImageOutput(0))
    Box(1,1,126,126,RGB(255,0,0))
    StopDrawing()
    ImageGadget(0,  10, 10, 128, 128, ImageID(0))
    ImageGadget(1,  147, 9, 130, 130, ImageID(0), #PB_Image_Border)
    ImageGadget(2, 284, 8, 180, 180, ImageID(0), #PB_Image_Raised)
  EndIf
  
  For i=0 To 2
    Debug "Imagegadget "+Str(i)+": "+Str(GadgetWidth(i))+" * "+Str(GadgetHeight(i))
  Next
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  
EndIf

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 14:34
von dösbaddel
Stimmt, jetzt sehe ich es auch, ich Blindfisch... :roll:

Scheint tatsächlich ein Bug zu sein!

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 15:10
von bobobo
Passt doch gut zu Joshs Avatar :mrgreen:

Re: ImageGadget - #PB_Image_Raised

Verfasst: 29.01.2015 16:21
von Josh
Passt doch gut zu Joshs Avatar :mrgreen:
Hat wer ein Problem mit meinem Avatar? >_<
Angeblich soll schon mal wer mit der Fliegenklatsche auf meinen Avatar gehauen haben :mrgreen:


Hier der Link zur Bugmeldung im englischen Forum.