Daten in ein Image / Textur einschreiben
Übersicht

![]() |
StarGazerBetreff: Daten in ein Image / Textur einschreiben |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ist es eigentlich möglich in ein Image oder besser Textur das man mit CreateImage / CreateTexture erstellt wurde Daten hineinzuschreiben ohne daß man sie mit WritePixlFast in ein Buffer schreiben muß, sondern einfach direkt die Daten herreinschreiben ? |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
??? was willst du?
mit writepixelfast schreibst du die daten rein |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
@StepTiger
Quark! Du must nicht zwangsläufig nur mit ql:Writepixel bzw. ql:Writepixelfast arbeiten. Man kann genauso auch mit ql:SetBuffer (ql:ImageBuffer(DeinImage)) das Image als aktuellen Buffer setzen und ganz normal darauf zeichnen. Also mit ql:DrawImage, ql:Text usw. Man muss eben nur darauf achten, dass man hinterher wieder auf den ql:Backbuffer umschaltet. cheers |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber das ist ja genau was ich nicht möchte, SetBuffer und WritePixelFast.
Ich würde gern die Daten direkt reinschreiben, also aus einem File herrauslesen und direkt hinneinschreiben, ohne das WritePixel ect zu benutzen, denn das ist ja nicht gerade schnell wenn man große Bilder erstellt. Ich wollte gern wissen ob es eine andere Methode als WritePixel gibt. |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst Drawimage auch auf ein ImageBuffer anwenden und auch Rect und Oval. Um Dir genauer helfen zu können solltest Du genau erklären was Du machen willst ![]() |
||
Play Satyr! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es gibt keine andere Möglichkeit als die Pixeldaten in den Buffer zu schreiben. Sei es mit Drawbefehlen oder WritePixel / WritePixelfast.
Ausser du operierst direkt auf den Files mittels Byte Befehlen. Nur dann musst du dich erst mit dem Datenformat auseinander setzen um die Daten entsprechend zu handhaben. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
In BlitzPlus kann man mittles ql:PeekByte und ql:Pokebyte Pixel direkt bearbeiten. Das ist sicher nochmal gut 20% schneller als WritePixelFast, aber sicher für dich immernoch nicht schnell genug, wie ich mir denken kann. ![]() Schneller geht's nicht. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@StarGazer
wofür soll das gut sein ? Muß ja irgendein Sinn haben das du keine Bilder lädst . |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
d-bug hat Folgendes geschrieben: @StepTiger
Quark! Du must nicht zwangsläufig nur mit WritePixel bzw. WritePixelFast arbeiten. Man kann genauso auch mit SetBuffer (ImageBuffer(DeinImage)) das Image als aktuellen Buffer setzen und ganz normal darauf zeichnen. Also mit DrawImage, Text usw. Man muss eben nur darauf achten, dass man hinterher wieder auf den BackBuffer umschaltet. hab seine frage nicht verstanden. Er fragt, wie man writepixel umgehen kann, also die daten direkt reinschreibt. Aber so schreibt man doch die daten direkt rein. du kannst natürlich auch mit files arbeiten aber ich würde bezweifeln, dass das ständige loadimage drawimage schneller ist. dass man auf buffern malen kann ist mir auch klar ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
@D2006
BlitzPlus besitze ich leider nicht, nur Blitz3D. @Markus2 Ich habe um Bilder zu verschlüsseln mir ein eigenes BildFormat erstellt. ----------------------------------------------------------------------------------------------- Ich habe ein eigenes BildFormat wo ich die Daten dirket auslesen kann, und sie so auch direkt in ein Bild einschreiben könnte. Mein eigenes Format zu laden ist leider viel langsamer als LoadImade oder LoadTexture, deshalb wollte ich gern wissen ob es nicht eine schnellere Möglichkeit gibt Daten direkt in ein Bild / Texture zu schreiben. |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
StarGazer hat Folgendes geschrieben: @Markus2
Ich habe um Bilder zu verschlüsseln mir ein eigenes BildFormat erstellt. ----------------------------------------------------------------------------------------------- Ich habe ein eigenes BildFormat wo ich die Daten dirket auslesen kann, und sie so auch direkt in ein Bild einschreiben könnte. Mein eigenes Format zu laden ist leider viel langsamer als LoadImade oder LoadTexture, deshalb wollte ich gern wissen ob es nicht eine schnellere Möglichkeit gibt Daten direkt in ein Bild / Texture zu schreiben. Also wenn du nur das klauen von Bilder verhindern willst kannst du es auch als Bild speichern z.B. über ne Formel die Pixel oder Zeilen wild durch einander . Dann kannst du es ganz normal einladen was schnell geht und ein paar fragmente wieder nach deiner Formel austauschen in BB und fertig . Sobald die Bilder im Speicher sind für die Anzeige kannst du das klauen eh nicht verhindern , also wenn jemand dein Programm hat was die Bilder anzeigt . |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das klauen kann man nie 100% verhindern, aber so kann man wenigsten verhidern das nicht gleich jeder an die Daten rankommt, der muß sich dann wenigsten anstrengen ![]() Klar könnte man einfach ein Screenshot machen, aber in 3D ist das dann nicht 1 zu 1 wie das Orginal, meist ist es etwas kleiner, gezoomt, verschwaschnener Ect. Wie hast du das denn gemeint als normales Bild speichern. Wenn ich also ein File ZB Bmp mit Formel verschlüssel, muß ich es dennoch selbständig mit eigenem Loader herreinladen und mit WritePixel in ein Bild malen, BB würde es sonst falsch darstellen. Meinst du etwa das Bild hat einige Fehler, und die würde ich dann im nach hinein korregieren ? Da müste man aber ersmal eine Speicherruntine finden, PNGs laden (ok BB ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
StarGazer hat Folgendes geschrieben: Klar könnte man einfach ein Screenshot machen, aber in 3D ist das dann nicht 1 zu 1 wie das Orginal, meist ist es etwas kleiner, gezoomt, verschwaschnener Ect. Traumvorstellung. Man kann binnen Minuten jedes Bild in +- voller Quali herstellen aus einem Screenshot. Davon abgesehen werden Leute die die Grafik klauen wollen direkt via Speicher und DX Surface gehen. Wenn du deine Daten schützen willst, schau dir Mal den BBCruncher an ... (oder wenns für ein kommerzielles Projekt ist, ist MoleBox die mit Abstand empfehlenswerteste Lösung) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am Do, Okt 26, 2006 19:06, insgesamt einmal bearbeitet
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@StarGazer
denk dir mal das Bildformat weg das du nur den Inhalt hast . Zeilen vertauschen und Zeilen verschieben das was rechts raus geht links wieder rein kommt . Das speicherst du mit BB als BMP und mit nem Malprogramm in ein verlustfreies Bildformat was BB lesen kann . Bild einlesen in BB und mit den Grafik Befehlen deine vertauscherei wieder rückgängig machen . Für jedes Bild kannst du auch unterschiedlich den Inhalt zum Puzzle Spiel machen . Blockweise also z.B. 16x16 Pixel tauschen würden auch schon den Zweck erfüllen . |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Markus2
Danke, nun hab ich es verstanden ![]() Aber ich müste dann alles neucoden und mein altes wegwerfen, hmmm, noch birnge ich es nicht übers Herz ![]() @Dreamora Von einem gescalten unscharfen Bild das Orginal 1zu1 wieder herstellen, das bezweifel ich mal sehr stark. Du kriegst sicherlich ein gutes Bild daraus, mit Tools Bild verschärfen Ect, doch es wird niemals die selbe Qulität haben wie das Orginal, und schon garnicht 1zu1, es mag dennoch akzeptabel für die Zwecken desjenigen sein. Zudem sagte ich ja daß man es nie 100% verhindern kann, das habe ich auch garnicht vor, ich will einfach nur daß nicht gleich jederman darn kann. Übrgens zu MoleBox, ich habe es mir gekauft weil es alle Daten wunderbar sichert, nur dann war ich doch sehr entäuscht davon, da es leider nicht auf jedem Rechner läuft, und seidem benutze ich es nicht mehr. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wer braucht denn 100% das original? man kann auch bei leichten Variationen immer noch hervorragende Texturen haben.
Und solange du übrigens kein "grad direkt davor stellen" verhinderst, hält sich das ganze mit verzerrung etc in grenzen. Und kleiner? Weiss nicht, nutzt du 2048x2048 texturen? weil mein screen zb läuft auf 1680x1050 ... |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: weil mein screen zb läuft auf 1680x1050 ...
was ist das denn für ein komisches bildformat? 8:5 Breitbild ![]() schreib dir doch nen kleinen algo, dem jeder pixel folgt. sowas wie: Code: [AUSKLAPPEN] p=x*(height+1)+y
p2=p*2+7/4 p2=p2 mod (width*(height+1)+height) und dann liest du die farbe aus p2 aus. Dürfte gehen. (Bin mir aber gar nicht so sicher) |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group