Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Pixels und scanline (https://www.delphipraxis.net/192468-pixels-und-scanline.html)

Ak47 20. Apr 2017 18:47


Pixels und scanline
 
hey

kennt hier vielleicht jemand Tutorials was "pixels" und "scanline" angeht? oder ein beispiel-code wie ich au einer .bmp die koordinaten durch den farb-code finde?(möglichst deutsch englisch ist nicht so meins)


ps. bin mehr oder weniger anfänger:oops:

danke schon mal:wink:


edit: wenn code dann bitte kommentiert will den verstehen wie dieser funktioniert und nicht nur benutzen

hoika 20. Apr 2017 19:14

AW: Pixels und scanline
 
Hallo,
mal die Suche benutzt?

http://www.delphipraxis.net/59127-sc...vs-pixels.html

Ak47 20. Apr 2017 19:36

AW: Pixels und scanline
 
ja habe ich

diesen thread habe ich auch schon gesehen bloß wenn ich nicht verstehe was er für ein ergebniss er erwartet bringt es mir nichts

vom farb-code ist da auch nicht viel zu sehen

p80286 20. Apr 2017 21:38

AW: Pixels und scanline
 
Zitat:

Zitat von Ak47 (Beitrag 1368508)
diesen thread habe ich auch schon gesehen bloß wenn ich nicht verstehe was er für ein ergebniss er erwartet bringt es mir nichts

Da muß ich Dir Recht geben, sprachlich ist das nicht unbedingt eine Sternstunde.
Zitat:

Zitat von Ak47 (Beitrag 1368508)
vom farb-code ist da auch nicht viel zu sehen

Welchen Farbcode erwartest Du denn?

Gruß
K-H

BrightAngel 21. Apr 2017 10:06

AW: Pixels und scanline
 
Guten Morgen :)

Wo kann man dich denn abholen? Also was genau interessiert dich denn an den beiden Pixelzugriffsmethoden? Möchtest du einfach nur wissen, wie du sie benutzt?
Wenn du ein Bild voll bearbeiten möchtest, also jedes/die meisten/viele Pixel anfasst, dann würde man vermutlich eher zur Scanline greifen. Wenn du nur "mal eben sporadisch" einzelne Pixel anfasst, tuts vermutlich auch der pixels Zugriff. In dem Artikel
Zitat:

Zitat von hoika (Beitrag 1368504)

ist eigentlich vom Code her schon ein Beispiel zur Verwendung gegeben.

Bei der Scanline holst du dir quasi erstmal die ganze Zeile aus dem Datenstrom, bevor du einzelne Pixel /Farben massierst und beim pixels Zugriff greifst du direkt auf ein einzelnes Pixel zu. Das was in dem von hoika verlinkten Thread mitthematisiert wird, ist die Formatsproblematik: Bitmaps können aus unterschiedlich vielen Bits pro Pixel bestehen. Innerhalb eines Bitmaps bleibt diese Bitanzahl pro Pixel allerdings stets gleich. :thumb:

Delphi-Quellcode:
property ScanLine[Row: Integer]: Pointer read GetScanLine;


Delphi-Quellcode:
property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;


Brighty

Ak47 21. Apr 2017 15:58

AW: Pixels und scanline
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von p80286 (Beitrag 1368515)
Zitat:

Zitat von Ak47 (Beitrag 1368508)
diesen thread habe ich auch schon gesehen bloß wenn ich nicht verstehe was er für ein ergebniss er erwartet bringt es mir nichts

Da muß ich Dir Recht geben, sprachlich ist das nicht unbedingt eine Sternstunde.
Zitat:

Zitat von Ak47 (Beitrag 1368508)
vom farb-code ist da auch nicht viel zu sehen

Welchen Farbcode erwartest Du denn?

Gruß
K-H

ist eigtl. egal da ich nur wissen will wie das funktioniert

Zitat:

Zitat von BrightAngel (Beitrag 1368552)
Guten Morgen :)

Wo kann man dich denn abholen? Also was genau interessiert dich denn an den beiden Pixelzugriffsmethoden? Möchtest du einfach nur wissen, wie du sie benutzt?
Wenn du ein Bild voll bearbeiten möchtest, also jedes/die meisten/viele Pixel anfasst, dann würde man vermutlich eher zur Scanline greifen. Wenn du nur "mal eben sporadisch" einzelne Pixel anfasst, tuts vermutlich auch der pixels Zugriff. In dem Artikel
Zitat:

Zitat von hoika (Beitrag 1368504)

ist eigentlich vom Code her schon ein Beispiel zur Verwendung gegeben.

Bei der Scanline holst du dir quasi erstmal die ganze Zeile aus dem Datenstrom, bevor du einzelne Pixel /Farben massierst und beim pixels Zugriff greifst du direkt auf ein einzelnes Pixel zu. Das was in dem von hoika verlinkten Thread mitthematisiert wird, ist die Formatsproblematik: Bitmaps können aus unterschiedlich vielen Bits pro Pixel bestehen. Innerhalb eines Bitmaps bleibt diese Bitanzahl pro Pixel allerdings stets gleich. :thumb:

Delphi-Quellcode:
property ScanLine[Row: Integer]: Pointer read GetScanLine;


Delphi-Quellcode:
property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;


Brighty

wenn es nicht zuviel verlangt ist könntest du mir eventuell ein beispiel-code geben(aus dem bild im anhang den weien punkt)?
Anhang 47175

TiGü 21. Apr 2017 16:16

AW: Pixels und scanline
 
Zitat:

Zitat von Ak47 (Beitrag 1368606)
wenn es nicht zuviel verlangt ist könntest du mir eventuell ein beispiel-code geben(aus dem bild im anhang den weien punkt)?
Anhang 47175

Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?

hoika 21. Apr 2017 16:19

AW: Pixels und scanline
 
Hallo,

Zitat:

bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht ;)

BrightAngel 21. Apr 2017 23:01

AW: Pixels und scanline
 
Zitat:

Zitat von TiGü (Beitrag 1368611)
Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?

Ich vermute es. Allerdings finde ich komisch, dass da noch so viel grün in dem schwarz gesetzt ist. Ich dachte anfangs eher, dass er ein beliebiges schwarzes Bild mit grünen (konvexen?) Flächen hat und darin den Schwerpunkt/Mittelpunkt/Zentrum finden will... (mal so geraten). Vermutlich hat er uns den weißen Punkt nur als Hilfestellung zum Verständnis gegeben.

Slightly Offtopic: Das ist dann ein ähnliches Problem, wie das "Marker" finden in Greenscreenaufnahmen (dabei wird versucht die Kameraposition und -winkel relativ zum Greenscreen zu bestimmen, um anschließend ein 3D Modell entsprechend an die Stelle des Greenscreens rendern zu können)

Ich tendiere leider dazu Problemstellungen zu genau anzuschauen. :oops: Deine Erklärung ist definitiv einfacher. :thumb:

Vielleicht kannst du uns Ak47 noch kurz verraten wer von uns richtig liegt? Kann es mehr als einen "weißen Punk" geben? Wie viele "weiße Punkte" kann es denn innerhalb eines Bildes geben? Falls ich richtig liege, fände ich noch ein paar Infos hilfreich: Willst du den Schwerpunkt oder den Mittelpunkt der grünen Fläche? Sind die grünen Flächen immer konvex oder kann es auch (teil-)konkave Regionen (mit eventuellen Einschlüssen?) geben?
(also konvex ist, wenn du am Rand zwischen grün und schwarz mit dem Auto entlang fährst und immer nur nach rechts oder geradeaus oder nur nach links oder geradeaus lenken würdest; niemals darf das Lenkrad in die andere Richtung umschwenken, sonst ist es nicht mehr konvex...)
(Einschlüsse meine ich: kann es zum Beispiel einen Doughnut geben, der in der Mitte wieder ein "schwarzes Loch" hat?)

Ich habe noch in der Scanlinedoku von Embarcadero ein kleines Beispiel entdeckt, das die Scanline einfach benutzt, um ein Bild auf die doppelte Breite und Höhe "aufzublasen", indem es ein einzelnes Pixel auf vier Pixel klont (das passiert immer an den "...:= P[x];" Stellen). Falls du schonmal experimentieren möchtest. Über den verlinkten Code kann man definitiv diskutieren, aber auf jeden Fall übst du so als Anfänger auch fremden Code zu lesen... :)

Zitat:

Zitat von hoika (Beitrag 1368612)
Hallo,

Zitat:

bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht ;)

Haha :-D:lol:8-) Das stimmt. Bis dahin wusste ich ja aber auch noch nicht, dass er sie nur voyeuristisch betrachten und vermessen wollte :D
(...oder wie weiß sie sind :pale::stupid:)

Brighty

Ak47 22. Apr 2017 01:41

AW: Pixels und scanline
 
Zitat:

Zitat von TiGü (Beitrag 1368611)
Zitat:

Zitat von Ak47 (Beitrag 1368606)
wenn es nicht zuviel verlangt ist könntest du mir eventuell ein beispiel-code geben(aus dem bild im anhang den weien punkt)?
Anhang 47175

Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?

genau:wink:

Zitat:

Zitat von BrightAngel (Beitrag 1368642)
Zitat:

Zitat von TiGü (Beitrag 1368611)
Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?

Ich vermute es. Allerdings finde ich komisch, dass da noch so viel grün in dem schwarz gesetzt ist. Ich dachte anfangs eher, dass er ein beliebiges schwarzes Bild mit grünen (konvexen?) Flächen hat und darin den Schwerpunkt/Mittelpunkt/Zentrum finden will... (mal so geraten). Vermutlich hat er uns den weißen Punkt nur als Hilfestellung zum Verständnis gegeben.

Slightly Offtopic: Das ist dann ein ähnliches Problem, wie das "Marker" finden in Greenscreenaufnahmen (dabei wird versucht die Kameraposition und -winkel relativ zum Greenscreen zu bestimmen, um anschließend ein 3D Modell entsprechend an die Stelle des Greenscreens rendern zu können)

Ich tendiere leider dazu Problemstellungen zu genau anzuschauen. :oops: Deine Erklärung ist definitiv einfacher. :thumb:

Vielleicht kannst du uns Ak47 noch kurz verraten wer von uns richtig liegt? Kann es mehr als einen "weißen Punk" geben? Wie viele "weiße Punkte" kann es denn innerhalb eines Bildes geben? Falls ich richtig liege, fände ich noch ein paar Infos hilfreich: Willst du den Schwerpunkt oder den Mittelpunkt der grünen Fläche? Sind die grünen Flächen immer konvex oder kann es auch (teil-)konkave Regionen (mit eventuellen Einschlüssen?) geben?
(also konvex ist, wenn du am Rand zwischen grün und schwarz mit dem Auto entlang fährst und immer nur nach rechts oder geradeaus oder nur nach links oder geradeaus lenken würdest; niemals darf das Lenkrad in die andere Richtung umschwenken, sonst ist es nicht mehr konvex...)
(Einschlüsse meine ich: kann es zum Beispiel einen Doughnut geben, der in der Mitte wieder ein "schwarzes Loch" hat?)

Ich habe noch in der Scanlinedoku von Embarcadero ein kleines Beispiel entdeckt, das die Scanline einfach benutzt, um ein Bild auf die doppelte Breite und Höhe "aufzublasen", indem es ein einzelnes Pixel auf vier Pixel klont (das passiert immer an den "...:= P[x];" Stellen). Falls du schonmal experimentieren möchtest. Über den verlinkten Code kann man definitiv diskutieren, aber auf jeden Fall übst du so als Anfänger auch fremden Code zu lesen... :)

diesen grünen "fleck" hab ich nur gemacht damit ihr den weißen punkt im blickfeld habt:-D






ich brauch es ungefähr so:

Code:

     s := edit.Text;
    i := pos('#farbcode',bild);
    s1 := copy (s,i,56545446);
    edit.Text := (s1);
//ich weiß das es falsch ist:oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz