AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Pixels und scanline

Ein Thema von Ak47 · begonnen am 20. Apr 2017 · letzter Beitrag vom 22. Apr 2017
Antwort Antwort
Seite 1 von 2  1 2   
Foren-Tage 2017
DIE Konferenz für Delphi-Entwickler mit vielen Vorträgen und ganztägigen Workshops, veranstaltet u.A. von der Delphi-PRAXiS und Embarcadero.
21.-23. September 2017 in Hamburg · Mehr Infos unter forentage.de.
Ak47

Registriert seit: 20. Apr 2017
4 Beiträge
 
Delphi 7 Enterprise
 
#1

Pixels und scanline

  Alt 20. Apr 2017, 18:47
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

danke schon mal


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

Geändert von Ak47 (20. Apr 2017 um 19:02 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
5.862 Beiträge
 
Delphi XE4 Professional
 
#2

AW: Pixels und scanline

  Alt 20. Apr 2017, 19:14
Hallo,
mal die Suche benutzt?

Scanline vs Pixels
Heiko
  Mit Zitat antworten Zitat
Ak47

Registriert seit: 20. Apr 2017
4 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Pixels und scanline

  Alt 20. Apr 2017, 19:36
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
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
5.602 Beiträge
 
Delphi 7 Personal
 
#4

AW: Pixels und scanline

  Alt 20. Apr 2017, 21:38
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.
vom farb-code ist da auch nicht viel zu sehen
Welchen Farbcode erwartest Du denn?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten
sondern Deinen Anweisungen
Do it with Delphi Programming
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#5

AW: Pixels und scanline

  Alt 21. Apr 2017, 10:06
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 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.

property ScanLine[Row: Integer]: Pointer read GetScanLine;

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

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!

Geändert von BrightAngel (21. Apr 2017 um 10:11 Uhr)
  Mit Zitat antworten Zitat
Ak47

Registriert seit: 20. Apr 2017
4 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Pixels und scanline

  Alt 21. Apr 2017, 15:58
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.
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

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

property ScanLine[Row: Integer]: Pointer read GetScanLine;

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)?
delphi1.jpg
Stefan
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
1.185 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Pixels und scanline

  Alt 21. Apr 2017, 16:16
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?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
5.862 Beiträge
 
Delphi XE4 Professional
 
#8

AW: Pixels und scanline

  Alt 21. Apr 2017, 16:19
Hallo,

Zitat:
bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht
Heiko
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#9

AW: Pixels und scanline

  Alt 21. Apr 2017, 23:01
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. Deine Erklärung ist definitiv einfacher.

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

Hallo,

Zitat:
bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht
Haha Das stimmt. Bis dahin wusste ich ja aber auch noch nicht, dass er sie nur voyeuristisch betrachten und vermessen wollte
(...oder wie weiß sie sind )

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!

Geändert von BrightAngel (21. Apr 2017 um 23:28 Uhr)
  Mit Zitat antworten Zitat
Ak47

Registriert seit: 20. Apr 2017
4 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Pixels und scanline

  Alt 22. Apr 2017, 01:41
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

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. Deine Erklärung ist definitiv einfacher.

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






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:
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2017 by Daniel R. Wolf