Seite 1 von 2

Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 07.10.2009 15:34
von Hilli
Die Darstellung eines mit (CreateFont_) erzeugten Textes in einem Image funtioniert nicht.

Mit PB3.30 ist es kein Problem, aber mit PB4.40B3 geht nichts mehr.
In einem Window funktioniert es mit beiden Versionen weiter.

THEMAVERSCHOBEN [Bugs > Anfänger]
by Andesdaf

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 07.10.2009 15:58
von Fluid Byte
Und wieder ein Anfänger der glaubt einen Bug gefunden zu haben ... :roll:

1.) Poste hier nicht wenn du nicht 100% sicher bist das es sich um einen Bug handelt.
2.) Mit deiner konfusen Beschreibung kann keiner etwas anfangen
3.) Bug-Meldungen sollten immer mit Beispielcode belegbar sein
4.) Alte Versionen sind generell weniger wert als die Zeitung von gestern

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 07.10.2009 19:00
von Hilli
Danke für die überaus nette Antwort und die Bemerkungen.

Wie im Betreff zu sehen, war es keine Feststellung sondern ein mit ?-Fragezeichen versehender Beitrag.
Neu im PBoard und noch vielleicht nicht an der richtigen Stelle gestellt, sorry.
Anfänger, kann schon sein, aber dennoch sind sie auch nur Menschen und sollte die Frage auch noch so unprofesionell sein,
haben sie doch ein Recht auf einen sachlichen Kommentar.

OK, Beispiel soll sein, hier ist es.

Code: Alles auswählen

'########################################################################
Enumeration
  #Window_1
  #Image
EndEnumeration

If CreateImage(#Image,1000,700)
    DC = StartDrawing(ImageOutput(#Image))
    Box(0,0,1000,700, RGB(255,255,255))
    DrawingMode(1)
         
    FrontColor(RGB(0,0,0))
    Text.s = "Normaler Text......."
    DrawText(300,600,Text)
        
    ;<---API Commando--------------------------------------------------    
      Define hFont.l 
      Define hfHeight.l        = 30
      Define hfWidth.l         = 20
      Define hfWeight.l        = 0
      Define Escapement.l      = 90 * 10
      Define Orientation.l     = 0
      Define Italic            = #False         ;Geneigt
      Define Underline         = #False         ;Unterstrichenen
      Define StrikeOut         = #False         ;Durchgetrichen
      Define CharSet.l         = #ANSI_CHARSET
      Define OutputPrecision.l = #OUT_TT_PRECIS
      Define ClipPrecision.l   = #CLIP_LH_ANGLES
      Define Quality.l         = #PROOF_QUALITY
      Define PitchAndFamily.l  = #DEFAULT_PITCH|#FF_DONTCARE
      Define lpszFace.s        = "Impact"
      
      hFont = CreateFont_(hfHeight, hfWidth, Escapement, Orientation, hfWeight, Italic, Underline, StrikeOut, CharSet, OutputPrecision, ClipPrecision, Quality, PitchAndFamily, lpszFace.s) 
      
      DrawingFont(hFont)
      
      FrontColor(RGB(255,0,0))
      
        Text.s = "Gedrehter Text......!"
      
      DrawText(300,500,Text)
       
      DeleteObject_(hFont)
    ;<---API Commando-------------------------------------------------- 
        
        StopDrawing()
   
    SetClipboardImage(#Image)
    
EndIf

;-------- Open Window -------------------------------------------------------------------
WdPart1.s = "  ->  "
WdPart2.s = ""
Windowdescription.s = WdPart1 + Space(50) + WdPart2

If OpenWindow(#Window_1, 100, 100, 1000, 700, Windowdescription, #PB_Window_MinimizeGadget)
      
  Repeat  

    Repeat : EventID.l = WaitWindowEvent() : Until EventID <> 0

    If EventID = #PB_Event_Repaint 
    
      GetClipboardImage(#Image)
      
      If StartDrawing(WindowOutput(#Window_1))
      
        DrawImage(ImageID(#Image),0,0)
        StopDrawing() 
        
      EndIf
      
    EndIf
    
  Until EventID = #PB_Event_CloseWindow

Else
  MessageRequester("Error", "Can't open Window", 0)
  End
EndIf

End 
'########################################################################

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 07.10.2009 19:19
von ts-soft
Code Tags wären nett!
Warum nicht einfach so:

Code: Alles auswählen

Enumeration
  #Window_1
  #Image
EndEnumeration

If CreateImage(#Image, 1000, 700)
  DC = StartDrawing(ImageOutput(#Image))
  Box(0, 0, 1000, 700, RGB(255, 255, 255))
  DrawingMode(1)

  FrontColor(RGB(0, 0, 0))
  Text.s = "Normaler Text......."
  DrawText(300, 600, Text)

  FrontColor(RGB(255, 0, 0))

  Text.s = "Gedrehter Text......!"

  DrawRotatedText(300, 500, Text, 180)

  StopDrawing()

  SetClipboardImage(#Image)

EndIf

;-------- Open Window -------------------------------------------------------------------
WdPart1.s           = " -> "
WdPart2.s           = ""
Windowdescription.s = WdPart1 + Space(50) + WdPart2

If OpenWindow(#Window_1, 100, 100, 1000, 700, Windowdescription, #PB_Window_MinimizeGadget)

  Repeat

    Repeat : EventID.l = WaitWindowEvent() : Until EventID <> 0

    If EventID = #PB_Event_Repaint

      GetClipboardImage(#Image)

      If StartDrawing(WindowOutput(#Window_1))

        DrawImage(ImageID(#Image), 0, 0)
        StopDrawing()

      EndIf

    EndIf

  Until EventID = #PB_Event_CloseWindow

Else
  MessageRequester("Error", "Can't open Window", 0)
  End
EndIf

End
Set/Get ClipboardImage sind auch unnötig, bzw. nicht empfehlenswert, der User könnte ja was
anderes ins Clipboard packen.

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 07.10.2009 20:08
von Fluid Byte
Hilli hat geschrieben:Wie im Betreff zu sehen, war es keine Feststellung sondern ein mit ?-Fragezeichen versehender Beitrag.
In diesem Forum werden nur Bugs gespostet, keine Vermutungen!
Hilli hat geschrieben:Neu im PBoard und noch vielleicht nicht an der richtigen Stelle gestellt, sorry.
Mich erstaunt immer wieder wie manche Menschen ihr Unfähigkeit damit entschuldigen neu im Forum zu sein.

Lesen kannst du oder?
Hilli hat geschrieben:Anfänger, kann schon sein, aber dennoch sind sie auch nur Menschen und sollte die Frage auch noch so unprofesionell sein, haben sie doch ein Recht auf einen sachlichen Kommentar
Ich verlange von dir nicht 'ne Rakete zu bauen sondern lediglich deinen gesunden Menschenverstand zu benutzen.

@Mods:
Verschieben bitte!

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 08.10.2009 00:02
von Thorium
In PB 4.40 sind die Images keine API Images mehr, könnte damit zusammenhängen.
Lies dir mal das durch: http://www.purebasic.fr/blog/?p=196

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 08.10.2009 08:16
von Hilli
Vielen Dank an tk-soft und Thorium, mein Problem ist damit gelöst und das Ganze hat sich erledigt.

Beim Umsetzen meiner Programme von einer Version zur Anderen PB3.20 -> PB3.91 -> PB4.30 -> PB4.40
konnte ich bisher alle anderen Sachen ohne Hilfe ausmerzen nur hier wollte es nicht funktionieren.
Vielleicht war ich auch einfach Aktionsblind.
Nochmals Danke.

PS.: Ich werde in Zukunft nicht mehr so "leichtfertig" eine Frage an das Board richten um mir so manche Kommentare zu sparen.

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 08.10.2009 15:22
von Fluid Byte
Hilli hat geschrieben:Ich werde in Zukunft nicht mehr so "leichtfertig" eine Frage an das Board richten um mir so manche Kommentare zu sparen.
Das Problem ist das "solche Kommentare" immer wieder kommen werden solange du nicht nachdenkst bevor du postest.

PS: Hör' auf das Forum zu personifizieren, ist albern. <)

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 08.10.2009 18:54
von edel
Du kannst User wie Fluid Byte auch direkt ignorieren, die Option findest du im "Persönlichen Bereich".

Re: Bug ja/nein ? - API Command (CreateFont_) im Image

Verfasst: 08.10.2009 19:12
von DarkDragon
edel hat geschrieben:Du kannst User wie Fluid Byte auch direkt ignorieren, die Option findest du im "Persönlichen Bereich".
Oder in dem Profil des jeweiligen Nutzers unterm Avatar ("[ Zu den Freunden hinzufügen | Zu den ignorierten Mitgliedern hinzufügen ]" steht dort).