Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 11.07.12 11:59 
Guten Tag,
ich habe ein Problem bezüglich der Transparenz meiner Canvas Farbe...
Ich würde gerne ein Kreis über ein Bild ziehen, der den darunterliegenden Farben ein rotstich verleiht. Es soll also das, was unter dem Kreis ist noch sichtbar sein.
Die Tranzparenz, die ich bei der Form etc. einstelle sorgt leider immer nur dafür, dass ich dann druch die Form durchgucken kann, und dann seh ich nur mein Desktop :D.
Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Canvas.Rectangle(X,Y,X+100,Y+100);
Canvas.Brush.Color := canvas.pixel[x,y] -1;
canvas.Pen.Color := Canvas.Brush.Color;
Canvas.Ellipse(X,Y,X+100,Y+100);

Das Canvas.Pixel, hatte ich mal irgendwo gelesen, allerdings weiß ich gar nichts darüber und es sucht ja nur die Farbe dieses einen Pixels heraus... Soll ich jetz jeden Punkt des Kreises errechnen und dann jedes mal vor dem Zeichnen dieses Punktes die Farbe abfragem , die sich jetzt dort befindet und dann diese ändern?Ich denke, dass es funktionieren würde, jedoch sehr umständlcih wäre und sehr viel Zeit in anspruch nehmen würde... (zu viel Zeit)
Kennt jemand eine "schnelle" Methode dafür?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 11.07.12 12:07 
www.progdigy.com/ GDI + (free, keine Installation)

TGPGraphics beim Erzeugen Dein Canvas.Handle übergeben
Dem TGPSolidBrush die gewünschte Farbe mit Alphawert übergeben.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 11.07.12 12:21 
Mit Bordmitteln könnte man mit TransBlt arbeiten:
msdn.microsoft.com/e...esktop/dd145141.aspx
Oder mit AlphaBlend:
msdn.microsoft.com/e...esktop/dd183351.aspx

Aber zum reinen Zeichnen eignet sich ein passender Brush wie bereits gepostet in der Tat mehr.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 11.07.12 15:22 
Ok, sagen wir so:
Wozu was downloaden, wenn man das auch selbst kann?!
-> extra was downloaden und komponenten etc benutzen wäre sinnlos

das mit Alpha-Blend habe ich leider nicht verstand, jaenicke kannst du das bitte genauer erklären?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 11.07.12 16:12 
Du musst ja keine Komponenten herunterladen und installieren, sondern nur 3 Units in Dein Projekt einbinden.
Da ist ein Stapel Demos dabei der den Umfang der Möglichkeiten anreißt.

So das war dann aber mein letzter Post zum Thema GDI+, bis ich explizit gefragt werde.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Mi 11.07.12 16:20 
Wenn du Delphi 2009+ hast ist die hier besser -> www.bilsen.com/gdiplus/index.shtml Super Demo und gutes Objekthandling (:
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 11.07.12 16:24 
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du Delphi 2009+

Also in meiner Info steht Delphi 7.. also 2007.. 2007>2009 wäre mir neu^^

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 11.07.12 16:33 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
das mit Alpha-Blend habe ich leider nicht verstand, jaenicke kannst du das bitte genauer erklären?
Wenn du mal im Forum danach gesucht hättest (Suche in: Delphi-Forum ALPHABLEND), hättest du zwar nicht besonders viele Threads gefunden, in denen aber dafür Beispiele...
Unter anderem in dem, den ich dazu eröffnet hatte...
www.entwickler-ecke.....php?p=623497#623497

user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Also in meiner Info steht Delphi 7.. also 2007..
Was denn jetzt... Delphi 7 (erschienen 2001 2002) oder Delphi 2007 (erschienen 2007)? :gruebel:


Zuletzt bearbeitet von jaenicke am Mi 11.07.12 16:55, insgesamt 2-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.07.12 16:43 
Moin!

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Also in meiner Info steht Delphi 7.. also 2007..
Was denn jetzt... Delphi 7 (erschienen 2001)
Sorry, aber:
Der Wikipedia-Artikel dazu hat folgendes geschrieben:
Delphi 7 wurde im August 2002 veröffentlicht.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 11.07.12 17:35 
ok dann halt Delphi 2002 :D aber ich hab Delphi 7

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Do 12.07.12 19:36 
Ok... das genaue Problem liegt bei
Canvas.Pixels[X,Y] := Canvas.Pixels[C,Y]+100;
Die Farbe ist perfect, die Form die ich mit dem Satz des Pythagoras errechne ist auch perfekt !.. also ein perfekter kreis in der perfekten (durchsichtigen, die die drunterliegenden Farben leicht verändert) Frabe...

Das Problem:
Ich berechne diesen Kreis alle 20ms neu !
Das führt zu Extremen laggs... wenn der Kreis ein Radius von 300 hat, dann brauch er ca 500ms um den kompletten Kreis zu zeichnen! Das Flackern fange ich zum Glück komplett ab, aber das laggen wird wie gesagt durch das
Canvas.Pixels hervorgerufen. Es fragt die Farbe des Pixels zu langsam ab...
Kennt ihr irgendwelche besseren Methoden als Canvas.Pixels?
Ich würde gerne nur einen neuen Einzeiler benutzen (bis 10Zeiler), da ich denke, dass ein ü10 Zeiler ebenfalls zu lange brauchen würde.. also bitte nennt mir einen Befehl, der in ca 18 ms die Farbe von bis zu 9000 Pixeln berechnen kann

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Do 12.07.12 20:15 
Moin,

SCANLINE dürfte sein, was du suchst. Obwohl man schon dazu übergehen müsste dir, wie user profile iconbummi, zu GDI+ oder OpenGL/DirectX zu raten, wenn du irgendetwas mit hoher Framerate zeichnen möchtest.

LG
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 14.07.12 12:12 
ok, ich habe mir jetzt das Package installiert und besitze nun die Komponente Tchromium.

Wie ich diese einsetze, weiß ich leider nicht.. ebenfalls kommt immer wieder eine Fehlermeldung beim startren..
Ich denke ich muss das Chromium am anfang initialisieren oder so.. deshalb würde ich euch bitten mal ein Beipsiel (simplester Art) hier zu posten :)

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 14.07.12 13:20 
TChromium? Das hört sich nach dem Chromium-Webbrowser-Control an. Was hat das jetzt nicht dem Thema zu tun? :gruebel:
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 14.07.12 13:32 
Jop, es passst nichts :D
Bitte einmal RICHTIGE links reinstellen hier zu Alphablend und TGP Graphics

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 14.07.12 13:36 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Jop, es passst nichts :D
Bitte einmal RICHTIGE links reinstellen hier zu Alphablend und TGP Graphics
Richtig lesen hilft... :roll: :autsch:
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
www.progdigy.com/ GDI + (free, keine Installation)
Und wenn du unter den Downloads wie da steht auf "GDI plus API" klickst, bekommst du auch GDI+...

Oder du nimmst die genannte Alternative:
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du Delphi 2009+ hast ist die hier besser -> www.bilsen.com/gdiplus/index.shtml Super Demo und gutes Objekthandling (:


Zuletzt bearbeitet von jaenicke am Sa 14.07.12 13:37, insgesamt 1-mal bearbeitet
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Sa 14.07.12 13:37 
mag unhöflich erscheinen, aber wer lesen kann ist im Vorteil, wurde bereits alles geschrieben....

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS