Alphablending
-
rapso schrieb:
das ist eine Variable vom typ bitmap, genau wie eine int variable.
rapso->greets();
Danke genau das was ich wissen wollte.
FireYourGuns schrieb:
Lad dein bild mal als "Texture"
Das hab ich ja versucht auf ein rechteck, aber wie gesagt wenns als bitmap gespeichert wird gehts, ansonsten nicht.
TGGC schrieb:
rapso schrieb:
aber du weißt doch was ungefähr gemeint ist, netwar?
Dieses Problem wurde IMHO nicht ausreichend genau geschildert, um eine hilfreiche Antwort zu geben.
Fragen clever stellenDieses Posting wurde nicht automatisch generiert sondern per Hand eingefügt. Beschwerden werden trotzdem ignoriert.
Disclaimer: dies ist kein direkter persönlicher Angriff.
Bye, TGGC (Reden wie die Großen)]
Bei dir ist doch keine Frage ausreichend genau gestellt, oder? Und im übrigen gibts Fragen die kann man nicht genauer stellen, aus welchen Gründen auch immer.
Optimizer schrieb:
Ist kein großes Wunder, dass es nicht angezeigt wird, schließlich ist die Klasse für die GDI.
Das versteh ich jetzt noch nicht, ich kann ja das Bild ohne OpenGL auch anzeigen.
-
Quotenmausi schrieb:
Bei dir ist doch keine Frage ausreichend genau gestellt, oder?
Nur die, die nicht ausreichend genau gestellt sind.
Bye, TGGC (Reden wie die Großen)
-
TGGC schrieb:
Quotenmausi schrieb:
Bei dir ist doch keine Frage ausreichend genau gestellt, oder?
Nur die, die nicht ausreichend genau gestellt sind.
Definiere "ausreichend genau".
-
Hmm eigentlich gehts mir immer noch drum wie ich meine Bilder anzeigen kann ohne dass ich sie speichern muss und weniger darum wie bei manchen Leuten eine Frage formuliert sein muss um auch eine vernünftige Antwort zu bekommen.
-
[Blume = OFF]
Also sorry, aber langsam kannst du trotzdem mal anfangen, deine Frage präziser zu formulieren. TGGC labert für gewöhnlich Mülll, aber den Link kannst du dir schon mal anschauen.
Das einzige, was wir bis jetzt wissen, ist, dass du C# benutzt - WOW!
[Blume = ON]
-
Optimizer schrieb:
[Blume = OFF][...]TGGC labert für gewöhnlich Mülll[...][Blume = ON]
Das brauchst du nicht durch die Blume sagen, sage es einfach so!
Bye, TGGC (Reden wie die Großen)
-
Ich benutze C# und OpenGL und generiere mir ein Bild über die Bitmap in C# indem ich jedes Pixel einzeln setze mit
Bitmap bmp = new Bitmap(200, 300); bmp.SetPixel(x, y, Color.FromArgb((int)r, (int)g, (int)b));
alles schon mal erzählt bis auf das Pixelweise.
Diese Bild will ich mir über ne textur auf ein Rechteck anzeigen lassen. Dieser Teil ist mit OpenGL, auch schon mal erzählt.
Diese Bild seh ich aber nicht, nur wenn ich es vorher mitbmp.Save("bild.bmp", ImageFormat.Bmp);
speichere kann ich es auch anzeigen. Wenn ich es ohne Speichern anzeigen will bekomm ich ein weisses Bild, obwohl die richtigen Daten in der anzuzeigenden Variable stehen.
Als Grundlage für meine Textur nehm ich das nehe-tut lesson 8 (auch schon mal geschrieben)FRAGEN:
Warum seh ich nur ein weisses Bild?
Muss ich mein Bild vorher speichern oder gibt auch ne andre Möglichkeit um es anzuzeigen?
Wie kann ich es aktualisieren wenn sich das Bild geändert hat?Gebe zu OpenGL hab ich nicht extra geschrieben aber nachdem in den nehe-tuts mit OpenGL gearbeitet wird hab ich das nicht mehr extra geschrieben.
-
TGGC schrieb:
Optimizer schrieb:
[Blume = OFF][...]TGGC labert für gewöhnlich Mülll[...][Blume = ON]
Das brauchst du nicht durch die Blume sagen, sage es einfach so!
Bye, TGGC (Reden wie die Großen)
Hab ich doch, die Blume war ja ausgeschaltet.
@Quotenmausi: Naja, OpenGL kann doch Texturen nur aus Dateien laden, oder sollte ich mich täuschen? Warum willst du denn verhindern, dass du eine Textur von der Platte lädst?
Weiterhin kommt hinzu, dass Bitmap (wie ich schon mal sagte) für die GDI gedacht ist. Wie lädst du das Bild überhaupt?
-
Optimizer schrieb:
@Quotenmausi: Naja, OpenGL kann doch Texturen nur aus Dateien laden, oder sollte ich mich täuschen? Warum willst du denn verhindern, dass du eine Textur von der Platte lädst?
Weiterhin kommt hinzu, dass Bitmap (wie ich schon mal sagte) für die GDI gedacht ist. Wie lädst du das Bild überhaupt?Dass man Texturen nur aus Dateien laden kann da war ich mir nicht sicher.
Auf der Festplatte speicher kostet Zeit und solche hab ich nicht wirklich und ich dachte mit dass es auch ohne speichern gehen könnte. Aber wenn das nicht geht muss ich wohl zuerst speichern und dann anzeigen.
image1 = bmp; if (image1 != null) { GL.glColor4f(1.0f, 1.0f, 1.0f, fluo_alpha); image1.RotateFlip(RotateFlipType.RotateNoneFlipY); System.Drawing.Imaging.BitmapData bitmapdata; Rectangle rect = new Rectangle(0, 0, image1.Width, image1.Height); bitmapdata = image1.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); GL.glPixelStorei(GL.GL_PACK_SKIP_IMAGES,0); GL.glGenTextures(0, this.texture); GL.glBindTexture(GL.GL_TEXTURE_2D, 0); GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_NEAREST); GL.gluBuild2DMipmaps(GL.GL_TEXTURE_2D, (int)GL.GL_RGB, image1.Width, image1.Height, GL.GL_BGR_EXT, GL.GL_UNSIGNED_BYTE, bitmapdata.Scan0); image1.UnlockBits(bitmapdata); image1.Dispose(); }
-
Das ist doch ein einmaliger Vorgang, eine Textur zu laden. Da gibt es IMO keinen Grund, mit der Zeit rumzugeizen.
Wenn du deine Textur aus einer Datei laden kannst, dann tu es doch, das ist der übliche Weg. Ich verstehe außerdem nicht, warum du das Bild zur Laufzeit erzeugst.
-
Ich erzeuge mein Bild zur Laufzeit, weil sich mein Bild ändert ich ich zuvor nicht weiss wie es aussieht. Bin auch mit der Textur nicht allzu glücklich weil ich eben immer wieder ein neues Bild haben will. Weiss aber keine andere Möglichkeit ein Bild in OpenGL zu bringen. Wenn also jemand ne andre möglichkeit weiss bin ich sehr dankbar.
-
Quotenmausi schrieb:
image1 = bmp; if (image1 != null) { GL.glColor4f(1.0f, 1.0f, 1.0f, fluo_alpha); image1.RotateFlip(RotateFlipType.RotateNoneFlipY); System.Drawing.Imaging.BitmapData bitmapdata; Rectangle rect = new Rectangle(0, 0, image1.Width, image1.Height); bitmapdata = image1.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); GL.glPixelStorei(GL.GL_PACK_SKIP_IMAGES,0); GL.glGenTextures(0, this.texture); GL.glBindTexture(GL.GL_TEXTURE_2D, 0); GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_NEAREST); GL.gluBuild2DMipmaps(GL.GL_TEXTURE_2D, (int)GL.GL_RGB, image1.Width, image1.Height, GL.GL_BGR_EXT, GL.GL_UNSIGNED_BYTE, bitmapdata.Scan0); image1.UnlockBits(bitmapdata); image1.Dispose(); }
Und dieser Code funktioniert, wenn bmp von der Platte geladen ist, aber nicht, wenn bmp so wie oben gezeigt erstellt wird?
Das man Texturen nur aus Dateien laden kann ist natürlich Unsinn.
Bye, TGGC (Reden wie die Großen)
-
Richtig nur wenn ich sag
bmp.Save("bild.bmp", ImageFormat.Bmp);
bekomm ich das Bild zu sehen, wenn ich das Bild aber nur so
Bitmap bmp = new Bitmap(200, 300); bmp.SetPixel(x, y, Color.FromArgb((int)r, (int)g, (int)b));
erzeuge ohne es extra zu speichern bekomm ich nur ein weisses Bild.
Aber warum und wieso weiss ich nicht.
-
D.h. laden musst du das Bild nicht wieder, nur speichern?
Bye, TGGC \-/
-
Die BMP-Ladefunktion (die nicht von Dir ist?!?) macht wohl etwas mit dem BMP Format anders, was Du in Deinem "LowLevel-Painter" _nicht_ berücksichtigst...
-
Ich höre immer Laden, aber ich sehe nix wo geladen wird!
Bye, TGGC \-/
-
Laden war ein gutes Stichwort, ich hätt das Bitmap auch richtig laden sollen dann wärs auch gegangen.
Vielen Dank!
-
Ich denke du willst es grad nicht laden?
Quotenmausi schrieb:
Allerdings möchte ich das Bild direkt aus dem Speicher verwenden
Gewöhnt Euch doch bitte mal an, Eure Fragen etwas genauer zu stellen!
Bye, TGGC \-/
-
Ich wollte das Bild nicht speichern. Wenn ich laden geschrieben hab dann wars ein versehen aber soweit ich das jetzt gesehen hab hab ich nie geschrieben dass ich es nicht laden will sondern dass ich es nicht erst speichern will, aber egal. Gestimmt hat letztendlich die übergabe zwischen dem beiden Bitmap-Variablen nicht.
Muss jetzt nur noch hinbekommen, dass sich meine Bilder, wenn sie sich geändert haben, neu zeichnen.
-
Genau, egal, ich versuch bei nächstem mal dann nicht zu helfen und gut ist. Notiert.
Bye, TGGC \-/