| |
|
|
- Seite 1 - |
|
 | Hallo iF
Deine Behauptung, beim Text mit Text überschreiben würden hässliche Ränder entstehen kann ich auf meinem System nicht nachvollziehen. Anbei ein Code, in dem verschiedenen Anzeigen einwandfrei gelöscht (überschrieben) werden und das auch noch nach mehrmaligem Aufruf. KompilierenMarkierenSeparierenDECLARE zeigen%,loeschen%,ende%,EE%
EE%=0
PROC ZEIGEN
USEFONT "ARIAL",16,6,0,0,0
TEXTCOLOR RGB(200,0,0),-1
DrawText 100,100,Date$(2)
USEFONT "COURIER NEW",24,0,1,0,0
TEXTCOLOR RGB(0,0,150),-1
DrawText 100,150,"Profan-Version "+$ProfVer
USEPEN 0,1,RGB(0,0,0)
USEBRUSH 1,RGB(0,200,0)
RECTANGLE 100,200-200,250
ENDPROC
PROC LOESCHEN
USEFONT "ARIAL",16,6,0,0,0
TEXTCOLOR RGB(255,255,240),RGB(255,255,240)
DrawText 100,100,Date$(2)
USEFONT "COURIER NEW",24,0,1,0,0
DrawText 100,150,"Profan-Version "+$ProfVer
USEPEN 0,1,RGB(255,255,240)
USEBRUSH 1,RGB(255,255,240)
RECTANGLE 100,200-200,250
ENDPROC
--------------------------------
CLS RGB(255,255,240)
zeigen%=CREATE("BUTTON",%HWnd,"Anzeigen...",1,1,150,25)
loeschen%=CREATE("BUTTON",%HWnd,"Löschen...",151,1,150,25)
ende%=CREATE("BUTTON",%HWnd,"Ende",530,1,100,25)
ZEIGEN
enableWindow zeigen%,0
WhileNot EE%
WAITINPUT
IF GetFocus(zeigen%)
enableWindow zeigen%,0
enableWindow loeschen%,1
ZEIGEN
ENDIF
IF GetFocus(loeschen%)
enableWindow zeigen%,1
enableWindow loeschen%,0
LOESCHEN
ENDIF
Case GetFocus(ende%):END
WEND
end
Wahrscheinlich ist die Sache für Dich nicht weiter wichtig darum habe ich das Thema auch in den Mülleimer gestellt
 |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
 | [quote:7f20d45283]nur systembedingt[/quote:7f20d45283]

Ich möchte nochmal darauf hinweisen das es nicht darum geht herauszufinden bei wem der Effekt auftritt - und bei wem nicht.
Ich erwähnte lediglich das es eine schlechte Idee sei Text derart abzulöschen wegen o.g. Effekt.
Das der Eine oder Andere den Effekt nicht nachvollziehen kann spielt doch hierbei keine Rolle, die Rechner sind nunmal unterschiedlich - ich wollte lediglich an meiner Erfahrung teilhaben lassen. 
Was das mit Recht oder nicht Recht zutun hat - keine Ahnung. 
Die Frage hässliche Ränder bei Drawtext muss leider mit Ja beantwortet werden weil man kann nicht davon ausgehen das bei o.g. Ablöschverfahren keine Ränder enstehen. Und weil also möglicherweise auf anderen Computern Ränder enstehen ist es eine schlechte Idee. So einfach - Klappe zu - Affe tot.  |
|
|
| |
|
|
|
 | [quote:247c882404]So einfach - Klappe zu - Affe tot. [/quote:247c882404] So einfach geb ich mich nicht geschlagen ! - Wenn Du mit -1 als Farbangabe überschreibst, hast Du die hässlichen Ränder - Wenn Du meinen Text genau ansiehst, wirst Du sehen, dass ich an Stelle von -1 die Farbe des Hintergrundes angebe und dann sind die Ränder nicht vorhanden - Gelle  KompilierenMarkierenSeparierenWindowstyle 80
Window 0,0 - 640,480
Cls 0
Showmax
Textcolor $00Ffffff,-1
Usefont "Arial",50,0,0,0,0
Drawtext 10,10,"ClearType"
waitinput
Textcolor 0,-1 Dein Text
Textcolor 0,0 Mein Text - der Hintergrund muss mit Farbangabe gelöscht werden,
-1 arbeitet hier anscheinend nicht sauber ?
Drawtext 10,10,"ClearType"
Waitkey
End
|
|
|
| |
|
|
|
 Frank Abbing | [quote:cf7e0939a8]Wenn Du meinen Text genau ansiehst, wirst Du sehen, dass ich an Stelle von -1 die Farbe des Hintergrundes angebe und dann sind die Ränder nicht vorhanden[/quote:cf7e0939a8]
 iF, da es um Horsts Methode geht, seine Texte zu löschen, solltest du auch Horsts Quellcode zum Testen verwenden... Meine Aussagen hier basieren jedenfalls auf seinem Code. |
|
|
| |
|
|
|
 | |
|
| |
|
|
|
 | Dann ist die Frage aber nicht ob sich der Text perfekt mit dem Text ablöschen lässt, sondern mit einem Rectangle.
Horst sein Beispiel passt also nicht nur Aufgabe, demzufolge kann sein Beispiel aus nicht maßgeblich sein.
@Frank: Es hießt nicht Horst-Methode, sondern Text mit Text Löschen-Methode. 
Wenn Ihr Text also nicht mit Text löscht, sondern mit versteckten Rectangles, dann kann die eigendliche Frage doch nicht Euer Ernst sein oder?  |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
 Frank Abbing | Passt doch alles. Du hast dir den Quellcode eben nicht genau angesehen und bist deshalb von verkehrten Vorausetzungen ausgegangen. So wie ich anfangs auch.
Problem erkannt und gelöst - nächstes Problem... |
|
|
| |
|
|
|
 Michael Dell | Weiß nicht ob das hierher gehört, das hab ich auf meiner Platte gefunden: KompilierenMarkierenSeparierenDrawText Demo
Proc mText
Parameters mT_oX&,mT_oY&,mT_oTxt$,mT_Col&,mT_bCol&,mT_oP&
Declare mT_X1&,mT_Y1&
Case (mT_oX& < 1): mT_oX& = 1
Case (mT_oY& < 1): mT_oY& = 1
If Equ(mT_oP&,0)
TextColor mT_bCol&,mT_bCol&
WhileLoop -1,1,1
mT_X1& = (mT_oX& + &Loop)
WhileLoop -1,1,1
mT_Y1& = (mT_oY& + &Loop)
DrawText mT_X1&,mT_Y1&,mT_oTxt$
EndWhile
EndWhile
Else
TextColor mT_Col&,mT_bCol&
DrawText mT_oX&,mT_oY&,mT_oTxt$
EndIf
EndProc
Cls
mText(10,10,"TestTxt",RGB(0,0,0),RGB(255,0,0),1)
WaitInput
mText(10,10,"TestTxt",RGB(0,0,0),RGB(255,255,255),0)
WaitInput
End
Nachtrag: Kleine verbesserung! |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 09.07.2006 ▲ |
|
|
|
|
 | Ähäm Frank wir wissen beide das nicht die Vorraussetzungen verkehrt - sondern Horst Quellcode verkehrt ist.
Horst sein Source begründet nicht das Problem sondern löst es auf einem Umweg - alles was ich wollte ist den Tip von mir geben das man Text nicht mit Text ablöschen sollte.
Wenn Horst den Text nicht mit Text ablöscht - dann braucht doch niemand davon ausgehen das man Text doch mit Text ablöschen sollte.
@Michael: Genau sowas mache ich auch oft - oft auch mit unterschiedlichen Farben für einen 3D-Effekt. Nur am Rande sei erwähnt das das Cleartype-Problem damit aber leider nicht umgehbar ist.
-
Um die Verwirrung um das Thema aber zu lösen es ist so:
Wer mit Drawtext einen Text zeichnet - und diesen Text gerne wieder löschen möchte - kann dies tun indem er den selben Text nochmals, aber mit gesetzer Hintergrundfarbe zeichnet. Die Hintergrundfarbe des Textes muß dann aber gesetzt werden da dann zuerst ein Rectangle mit Hintergrundfarbe gezeichnet wird.
Wer aber den Text genau und nur mit dem Text ablöschen möchte - also ohne Hintergrundfarbe und ohne Rectangle - kann böse Ränder erwarten.
Text mit Text ablöschen ist also eine schlechte Idee - Text mit einem Rectangle ablöschen verursacht meistens (nicht immer!) keine Ränder. Warum nicht immer ? Die Softeneffekte mancher GrKarten (vielleicht auch ClearType von MS?) werden nachträglich aufgelegt. Es kann vorkommen das der Alias nicht mit in die Weitenberechnung des nötigen Rectangles mit eingeht. Möglicherweise entstehen also kleine Ränder kurz ausserhalb des Hintergrundrectangles des Textes.
Genau diese Plage hab ich hinter mir.  |
|
|
| |
|
|
|
 | iF und wenn Du mich jetzt am liebsten auf den Mond schiessen würdest: Du hast meinen Text nicht benutzt ! - Ich lösche nämlich Text mit Text ! - Nur gebe ich beim Löschen anstelle von -1 die Hintergrundfarbe des Fensters an und dann entstehen diese Ränder nicht - (Es ist ja auch kein Löschen, sondern ein erneutes Überschreiben mit der Hintergrundfarbe) - Wenn Du zum Beispiel bei meiner Löschprocedur Textcolor RGB80,0,0),RGB(0,0,0) angibst, dann hastr Du das Rechteck von dem Frank geschrieben hat ...und jetzt Klappe zu - Affe tot von meiner Seite - teste meinen Quelltext und dann ist es gut ! |
|
|
| |
|
|
|
 | Ich schieße hier niemanden auf den Mond. 
Wenn Du als Texthintergrundfarbe nicht -1 angegeben hast - dann löscht Du den Text nicht mit Text sondern mit einem Rectangle. |
|
|
| |
|
|
|
 | Siehe Bild...  |
|
|
| |
|
|
|
 | Da fehlt §3, die salvatorische Klausel!  |
|
|
| |
|
|