Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Imagepuffer (Einzelne Pixel auslesen)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 04.07.2006, 15:51    Titel: Imagepuffer (Einzelne Pixel auslesen) Antworten mit Zitat

So, nach langer Zeit melde ich mich zurück und brauche schon HILFE. durchgeknallt

Ich arbeite jetzt schon etwas länger mit imagepuffern (imagecreate(x,y,c)) und möchte jtzt gerne wissen (nach einigen fehlgeschlagenene versuchen lachen ) wie kann ich einzelen pixel auslesen aus meinem puffer? mit

puffer [x,y] geht es nicht und auch nicht mit [x+y*xmax] usw.

kann mir da jemand helfen? BITTE!

PS: wie kann auch aus dem aktuellen bildschirmpointer so einen pixel auslesen und überhaupt, woher kriege ich den? mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.07.2006, 15:58    Titel: Antworten mit Zitat

probier mal, entweder
puffer[4+x+y*xmax]
oder
puffer[4+y+x*ymax]
eins von beiden müsste gehen, vorausgesetzt, du hast puffer als integer ptr oder sowas deklariert was eben vier bytes hat.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 04.07.2006, 16:28    Titel: Antworten mit Zitat

öhm.. .als any pointer?

da krieg ich die Fehlermeldung 'incomplete type'
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.07.2006, 16:49    Titel: Antworten mit Zitat

nein sag ich doch, integer ptr..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 04.07.2006, 16:55    Titel: Antworten mit Zitat

Es gibt 2 möglichkeiten:

Du machst den imagepuffer als integer, wie misterD schon sagt, oder du machst das mit cast/cptr.

Code:

pixel=cast(integer ptr,puffer)[1+x+y*xmax]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 04.07.2006, 18:08    Titel: Antworten mit Zitat

evtl. helfen dir diese Erklärungen:
http://volta.freebasic.de/imag/image2.html)
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 04.07.2006, 18:31    Titel: Antworten mit Zitat

Müsst ihr eigenlich beim kleinstem Problem schon die Pointer raushollen durchgeknallt.
Link
Zitat:
result = Point( coord_x, coord_y [,buffer] )

zwinkern

auch gleich das setzten:
(bevor wieder die grosse Pointerwanderung startet zwinkern)
Link
Zitat:
PSet [target ,] [STEP] (x, y) [,color]


Edit://
Zitat:
PS: wie kann auch aus dem aktuellen bildschirmpointer so einen pixel auslesen und überhaupt, woher kriege ich den?

bildschirmpointer brauchst du nicht, es geht ja auch mit Point zwinkern.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 04.07.2006, 19:18    Titel: Antworten mit Zitat

hast ja recht Michael, ich nehm dann lieber ASM durchgeknallt
lächeln
im Ernst: es geht mit Pointern vieles einfacher und schneller, gerade bei byte - Akrobatik.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 04.07.2006, 19:38    Titel: Antworten mit Zitat

Aber nur wenn man Pointer ansatzweise verstanden hat, sonst gibt es ärger zwinkern .
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.07.2006, 20:26    Titel: Antworten mit Zitat

pointer hat man entweder ganz oder garnicht verstanden, alles dazwischen ist ungültiger speicherzugriff durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 04.07.2006, 20:41    Titel: Antworten mit Zitat

Also.... gibts da ned was schnelleres als point? das ist immer UNGLAUBLICH LANGSAM...
ä
Und am rande:

was macht dieses '_' am ende der Zeile immer? ( das _ ist gemeint!)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.07.2006, 21:36    Titel: Antworten mit Zitat

_ am ende heißt, dass die zeile nicht zuende is sondern in der nächsten zeile weitergeht.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 05.07.2006, 12:49    Titel: Antworten mit Zitat

Wow! Das ist ja mal was sinnvolles! Yahooo!!!!

damit erspare ich mir endlich die endlos langen dim zeilen!

Achja! Danke für eure hilfe!
_________________
Danke an Volta für seine großartige MMX_fade function. *verneig*
Personal-DNA:
<script src="http://personaldna.com/h/?k=qtrCFboSuCOpFrX-OI-AADBA-f78d&t=Free-Wheeling+Leader">
</script>


Zitat:
Das Forum für den zum QBASIC kompatieblen open soure FreeBasic Kompiler.
by DJ. Peters
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 05.07.2006, 15:02    Titel: Antworten mit Zitat

Wer das Ergebnis sehen will, habs ins No-paste gestellt unter dem namen

DLA.bas

Ist eigentlich was wissenschaftliches.
_________________
Danke an Volta für seine großartige MMX_fade function. *verneig*
Personal-DNA:
<script src="http://personaldna.com/h/?k=qtrCFboSuCOpFrX-OI-AADBA-f78d&t=Free-Wheeling+Leader">
</script>


Zitat:
Das Forum für den zum QBASIC kompatieblen open soure FreeBasic Kompiler.
by DJ. Peters
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.07.2006, 16:02    Titel: Antworten mit Zitat

http://freebasic.de/fbnp/?view=453
Sieht interresant aus.
Daraus könnte auch ein netter Bildschirmschoner gemacht werden zwinkern .
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 06.07.2006, 11:32    Titel: Antworten mit Zitat

An dem Bildschirm schoner arbeite ich schon. Es gibt da nur ein problem:

Die 'aggregierten' pixel würden sich in eine röhre relativ schnell einbrennen...
Damit eignet sich das programm dann nicht mehr so gut. Ich arbeite deshalb an einem 'SS-Mode' bei dem die Farben im Puffer immer wieder wechseln. Da bräuchte ich nur einen möglichst schnellen weg um auf einer screen mit 24 bit tiefe die pixel im puffer zu ändern.

Vorschläge?

PS: Ich lade heute noch ein update herauf mit einigen verbesserungen und neuen modi.
_________________
Danke an Volta für seine großartige MMX_fade function. *verneig*
Personal-DNA:
<script src="http://personaldna.com/h/?k=qtrCFboSuCOpFrX-OI-AADBA-f78d&t=Free-Wheeling+Leader">
</script>


Zitat:
Das Forum für den zum QBASIC kompatieblen open soure FreeBasic Kompiler.
by DJ. Peters
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 06.07.2006, 13:50    Titel: Antworten mit Zitat

Zuerst den 32bit modus nehmen.
Dann könntest du die Pixel(nur weiß!!!) alle in einem Bildpuffer zeichnen, was du glaube ich schon machst. Darüber musst du dann einfach mit put alpha einen farbigen(z.B. blau) buffer legen, der dann als alphawert 150 oder so hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 06.07.2006, 14:05    Titel: Antworten mit Zitat

Neue version heraufgeladen.

Moment.... *Link kopieren geh*

http://freebasic.de/fbnp/?view=454

Einige probleme noch:

TODO:

1) Mit echten winkeln arbeiten (cos, sin)
2) Farbige filter darüber legen.
3) CODE-Clean-Up!
4) Kommentare
_________________
Danke an Volta für seine großartige MMX_fade function. *verneig*
Personal-DNA:
<script src="http://personaldna.com/h/?k=qtrCFboSuCOpFrX-OI-AADBA-f78d&t=Free-Wheeling+Leader">
</script>


Zitat:
Das Forum für den zum QBASIC kompatieblen open soure FreeBasic Kompiler.
by DJ. Peters
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz