pixel_to_bmap(BMAP* bmap,var x,var y,var pixel);
Schreibt einen Pixel an die Position X, Y in der angegebenen bmap.
Parameter:
bmap |
Ziel-Bitmap, muss vorher per bmaplock umgeschaltet
werden |
x, y |
die Pixelposition in der Bitmap 0..width-1 bzw. 0..height-1. |
pixel |
Pixel der geschrieben werden soll |
Geschwindigkeit:
Mittel
Bemerkungen:
- !! Aus Geschwindigkeitsgründen
ist diese Funktion nicht sicherheitsüberwacht. Ein Überschreiten der bmap-Größe
(beispielsweise auch durch Redefinieren d3d_texlimit)
verursacht einen Engine-Absturz.
- Nur in normale 16-, 24- oder 32-Bit-Bmaps kann hineingeschrieben werden.
Komprimierte DDS-Bmaps oder Bmaps, die als Renderziel benutzt werden, können
nicht modifiziert werden.
- Die bmap muß vorher per bmaplock umgeschaltet
werden. Das Pixelformat muß zum Bmap-Format passen. Ist dem nicht so, muß
es per pixel_for_vec konvertiert werden.
- Zum Updaten der Mipmaps von gemipmappten Bmaps nehmen Sie die Funktion bmap_to_mipmap.
Enthielt die Bmap keine Mipmaps, rufen Sie zum Erstellen einer Mipmap-Kette bmap_to_mipmap auf,
bevor Sie darauf zeichnen und nach dem Zurückschalten rufen Sie bmap_to_mipmap ein
zweites Mal auf, um das modifizierte Bild in die Mipmaps zu kopieren.
Beispiel:
// paint a red cross into a bmap
var format; var pixel;
format = bmap_lock(tgablitz,0);
temp.red = 255; temp.green = 0; temp.blue = 0;
pixel = pixel_for_vec(temp,100,format);
pixel_to_bmap(tgablitz,10,10,pixel);
pixel_to_bmap(tgablitz,10,11,pixel);
pixel_to_bmap(tgablitz,10,12,pixel);
pixel_to_bmap(tgablitz,10,13,pixel);
pixel_to_bmap(tgablitz,10,14,pixel);
pixel_to_bmap(tgablitz,8,12,pixel);
pixel_to_bmap(tgablitz,9,12,pixel);
pixel_to_bmap(tgablitz,11,12,pixel);
pixel_to_bmap(tgablitz,12,12,pixel);
bmap_unlock(tgablitz); // unlock the locked bitmap
Siehe auch:
bmap_unlock, bmap_lock, pixel_for_bmap, pixel_for_vec, bmap_to_mipmap
► Aktuelle Version Online