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:

Image manipulieren, wie möglich?

 
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
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 12.05.2014, 10:56    Titel: Image manipulieren, wie möglich? Antworten mit Zitat

Hi!

Ich möchte gerne ein Image manipulieren, und finde keinen Ansatz dazu!

Könnt ihr mir vielleicht helfen?

Ich möchte eine Image/Bild mit einem Sinus versehen, das ich einen Animations Effekt bekomme, der wie eine Flagge aussieht!

Ich nutze nur die fbgfx.bi !

Ist das überhaupt machbar?

VG
zipmar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Haubitze



Anmeldungsdatum: 14.10.2009
Beiträge: 132

BeitragVerfasst am: 12.05.2014, 12:59    Titel: Antworten mit Zitat

Hallo zipmar,

schau dir dazu Imageinfo an,

hier der code aus der hilfe.
Code:

Dim img As Any Ptr, pixdata As Any Ptr, pitch As Integer

' 32bit-Screen und Bildpuffer erzeugen
ScreenRes 320, 200, 32
img = ImageCreate(64, 64)

' Zeilengröße und Anfang des Pixelbereichs ermitteln
imageinfo img, ,,, pitch, pixdata

' Muster direkt in den Datenpuffer schreiben
For y As Integer = 0 To 63
    Dim As UInteger Ptr p = pixdata + y * pitch
    For x As Integer = 0 To 63
        p[x] = RGB(x * 4, y * 4, (x Xor y) * 4)
    Next x
Next y

' Bild zeichnen und Datenpuffer freigeben
Put (10, 10), img
ImageDestroy img
Sleep


Salute
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 12.05.2014, 21:01    Titel: Antworten mit Zitat

hi,

ich schau mir das gleich mal an.

vg
zipmar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 12.05.2014, 22:21    Titel: Antworten mit Zitat

Sooo ich jetzt nochmal grinsen

Wenn ich das jetzt richtig verstehe ...
Ich habe ein Bild , Text und erzeuge mir mit imagecreate ein ptr.
Über imageinfo komme ich an den sog. Framepuffer. Da kann ich jeden einzelnen Pixel ansprechen.

Wenn ich nun einen animationseffekt erzeugen möchte, erzeuge ich den Puffer größer als das Bild, schreibe das Bild dort hinein und lese mir die Spalten/Pixel aus und kopiere sie um.
Dafür eignet sich wohl am besten eine Matrix. Hmm, kommt das so ungefähr hin?

Vg
Zipmar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4699
Wohnort: ~/

BeitragVerfasst am: 12.05.2014, 23:16    Titel: Antworten mit Zitat

Wenn du ganze Bildblöcke kopieren willst, kannst du auch mit PUT direkt Teile eines Bildpuffers in einen anderen kopieren. Das direkte pixelweise Schreiben in den Puffer ist (wenn man es richtig macht) schneller, dafür ist PUT leichter zu bedienen und bietet gleich noch eine Überprüfung, dass nicht über den Speicherbereich hinaus geschrieben wird (deswegen ist es auch langsamer).
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 12.05.2014, 23:47    Titel: Antworten mit Zitat

http://www.freebasic-portal.de/porticula/flagge-bas-1750.html


HF + MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 13.05.2014, 07:52    Titel: Antworten mit Zitat

@ThePuppetMaster
THX, genau was ich gesucht habe. Komisch das ich es hier Forum noch nicht gefunden habe durchgeknallt

@nemored
Das das Pixelweise schreiben schneller ist, habe ich mir schon fast gedacht!
Werde wohl die nächsten Tage damit etwas rum spielen.

Mein Demo Ziel ist weiter weg als ich gedacht habe:roll:

Danke euch allen für die Hilfe!

Grüße
zipmar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 13.05.2014, 10:52    Titel: Antworten mit Zitat

nun .. das kannst du hier im board nicht finden, da ich es für dich fix geschrieben habe zwinkern


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 13.05.2014, 10:58    Titel: Antworten mit Zitat

Wow, ich danke dir happy

Ich bin im Basic noch nicht so weit missbilligen

Bin halt Java Trinker, Esser, Programmierer happy

Ich beschäftige mich jetzt wenn es hoch kommt 4 Tage damit auf einem Zeitraum von 3 Monaten. Bisschen wenig aber ich bessere mich^^

Noch mal vielen dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oC3lt1co0



Anmeldungsdatum: 20.05.2014
Beiträge: 2

BeitragVerfasst am: 20.05.2014, 12:29    Titel: Antworten mit Zitat

Hi zipmar,
Wie ich gelesen habe willst du Oldschool - Intros bzw Cracktros nachprogrammieren lächeln

Freebasic eignet sich sogar sehr gut dafür...
Ich selbst Programmieren meine Demos im Software Cpu Modus mit FB.
Da man hier auch Inline ASM verwenden kann sowie das Buffer Plotting ,erzielt man sehr gute Ergebnisse lächeln

Hier sind ein paar cracktros von mir in freebasic geschrieben.
Alle bis auf das Abstractro sind im Softwaremode geschrieben-


Cracktro DL
http://www.sendspace.com/file/myi7b2

Youtube
https://www.youtube.com/watch?v=Q7KOPQ-ybCQ
https://www.youtube.com/watch?v=CeDrxpIVNy4
https://www.youtube.com/watch?v=ZCrRitr4yNE

Cheers C3lt1c





Falls du Probleme bei Effekten hast kannst mich gerne anschreiben

Gruss C3lt1c
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 20.05.2014, 17:07    Titel: Antworten mit Zitat

0oC3lt1co0 hat Folgendes geschrieben:
Cracktro DL

Keine Credits für die originalen MOD/XM-Autoren zu geben ist jetzt aber nicht gerade die feine Englische Art...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
0oC3lt1co0



Anmeldungsdatum: 20.05.2014
Beiträge: 2

BeitragVerfasst am: 20.05.2014, 19:37    Titel: Antworten mit Zitat

Zitat:
Keine Credits für die originalen MOD/XM-Autoren zu geben ist jetzt aber nicht gerade die feine Englische Art...


Jop ich weiss das ein paar keine XM Autorenbenennung haben mit den Augen rollen hatte das in den Anfängen immer vergessen...

Cheers C3lt1c
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
zipmar



Anmeldungsdatum: 06.12.2013
Beiträge: 12
Wohnort: Bremen

BeitragVerfasst am: 27.05.2014, 12:54    Titel: Antworten mit Zitat

Hi!
Ich glaube das werde ich wohl auch mal tun, jedoch bin ich momentan anders eingebunden sodass ich erstmal mein erlerntes wieder auf frischen muss zwinkern

Ich experimentiere erstmal so rum und dann ..... zwinkern kommt bestimmt was tolles dabei rum.

Grüße
zipmar
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