Deutsch
Forum

Hässliche Ränder bei Drawtext....?

 
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.
KompilierenMarkierenSeparieren
DECLARE 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
 
09.07.2006  
 




Frank
Abbing
Du hast recht, Horst. Ich habe alle Modi ausprobiert und ein solcher Effekt ist mir nicht aufgefallen. Die Texte werden restlos gelöscht.
iF hat aber insofern recht, dass andere Windowsinstallationen da sensibler reagieren könnten. Ich selber lösche solche Regionen lieber als Rechteck, was von der Ausführung her auch schneller ist. Tatsächlich verwende ich DrawText heute nur noch sehr selten. Staticcontrols verrichten meist ihren Dienst besser, und die Textfarbe ist dort mittels Subclassing auch einstellbar. Auch wenn ich das systemkonforme Schwarz vorziehe.
 
09.07.2006  
 



[quote:eeb9e96a6d]
Du hast recht, Horst.[/quote:eeb9e96a6d]
Zwei Erfolgserlebnisse innerhalb der letzten 24 Stunden - unsere Jungens gewinnen den 3. Platz bei der WM und einer der Grossen - Frank - gibt mir recht

...ja ist denn schon Weihnachten ???
 
09.07.2006  
 




Rolf
Koch
Vielleicht hätte Frank auch mit gegen Italien spielen sollen - dann wären wir heute dran bei der WM *lol*
 
09.07.2006  
 



Schaltet ClearType an - wie es standardmäßig auch der Fall ist - und Ihr werdet nachvollziehen können...

Ich lass mir das doch nicht aus Spaß an der Freude einfallen - ich habe es tatsächlich einfach nur selbst erfahren.

Der negativ-Effekt tritt um so stärker auf desto größer der Font ist.

Hier der TestSource:
KompilierenMarkierenSeparieren
windowstyle 80
window 0,0 - 640,480
cls 0
showmax
textcolor $00FFFFFF,-1
usefont "Arial",50,0,0,0,0
drawtext 10,10,"ClearType"
textcolor 0,-1
drawtext 10,10,"ClearType"
waitkey
end

Wer jetzt nochmal meine Postings dazu liest und meint das ich etwas falsches geschrieben habe - dem ist zu warm.

[quote:0847c0d0c3]iF hat aber insofern recht, dass zukünftige Windowsversionen da sensibler reagieren könnten.[/quote:0847c0d0c3]
Standartinstallation WinXP, absichtlich ohne Änderung von irgendwelchen Einstellungen.
Manche GrKarten haben sogar noch extra Features um die Fonts zu soften - dann siehts noch schlimmer aus - auch bei den kleinen Fonts! Scheine ne Hersteller-Macke zu sein, sobald nen TFT angeschlossen ist glauben die GrKartenentwickler irgendwas glätten zu müssen.

Ich vertrete immer noch die Meinung das Programmierer den Entwicklercomputer so belassen sollten - wie es der User tut.
Man kann auf einem modifizierten System nicht konform entwickeln.

Ich gebe aber zu meinen Entwicklercomputer ebenfalls verändert zu haben.

2.png  
2 kB
Hochgeladen:09.07.2006
Ladeanzahl222
Herunterladen
1.png  
46 kB
Hochgeladen:09.07.2006
Ladeanzahl69
Herunterladen
 
09.07.2006  
 



Hab mein Posting nochmals überarbeitet - jetzt auch mit Bülda!

Wer mal die [...]  mit IE7 öffnet sieht schnell was ich meine - auch ohne eingeschaltetem Cleartype.
 
09.07.2006  
 




Frank
Abbing
[quote:ecdda3ea3c]Schaltet ClearType an - wie es standardmäßig auch der Fall ist - und Ihr werdet nachvollziehen können...[/quote:ecdda3ea3c]
Hab ich natürlich getan. Der Effekt tritt bei mir aber nicht auf.

[quote:ecdda3ea3c]Manche GrKarten haben sogar noch extra Features um die Fonts zu soften - dann siehts noch schlimmer aus - auch bei den kleinen Fonts! Scheine ne Hersteller-Macke zu sein, sobald nen TFT angeschlossen ist glauben die GrKartenentwickler irgendwas glätten zu müssen.[/quote:ecdda3ea3c]
Ich habe mit TFT getestet. Und Cleartype. Keine Ränder.

Der Effekt scheint also nur systembedingt aufzutreten. Aber ich sagte ja schon, lieber das ganze Rechteck löschen. Ist in jedem Fall sicherer.
 
09.07.2006  
 



[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.
 
09.07.2006  
 



[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
KompilierenMarkierenSeparieren
 
09.07.2006  
 




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.
 
09.07.2006  
 



 
09.07.2006  
 



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?
 
09.07.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.546 Betrachtungen

Unbenanntvor 0 min.
H.Brill04.02.2022
Georg Teles16.03.2019
Sebald Grandjean16.02.2018
Peter Max Müller13.11.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie