Español
Fuente/ Codesnippets

Bilder Getdibits Manipulation Schnelle Setdibits

 
Mit GetDiBits y SetDiBits puede ser BMP-Bilder en el Speicher rápidamente manipulieren.
Grobe Descripción :
KompilierenMarcaSeparación
bild_h& = Create(hPic, -1, test.bmp)
>
> se en el Speicher gelesen
KompilierenMarcaSeparación
~GetDIBits(%hdc,bild_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)
>
> Bild se en un Bereichsvariable gepackt
KompilierenMarcaSeparación
whileloop 128*4*10

    byte bildxy#,&loop=255

endwhil

Bild se manipuliert con 128 weißen Pixeln (1 Punkt besteht de 4 Bytes > RGBA). Der 1.Punkt es unten links ,1. Reihe. El Reihen fangen siempre links a. Am besten es, si al BMP-Bild 128x128 Pixel macht, entonces puede ser bien sehen, como unteren 10 Reihen de weißen Pixeln bestehen.
KompilierenMarcaSeparación
~setDIBits(%hdc,bild_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)
> El Bereichsvaribale se otra vez en el Handle : bild_h& gesetzt
KompilierenMarcaSeparación
drawpic bild_h&,10,10,0
> Se puede ahora el veränderte Bild en el Ventana sehen.

Mit XPIA/ASM ha uno otra vez viele möglichkeiten a Manipulierung
Oder wer el DEV C++ ha y ASM no mag, una schnelle DLL-Solución herstellen en el Zona a verändern.

El Demo :
KompilierenMarcaSeparación
 $H Windows.ph
declarar bild1$
declarar hWin&
Ventana 20,20-600,450
Cls @RGB(220,220,220)
bild1$=auto.bmp
erzeugebild(bild1$)
var ende%=1

WHILE ende%

    sleep 1
    waitkey

ENDWHILE

proc erzeugebild

    parámetros namebild$
    declarar width%,height%
    declarar bild_h&,a&
    declarar bmi#,bildxy#
    mcls 0,0,0
    startpaint -1
    mloadbmp namebild$,0,0
    endpaint
    height%=%bmpy
    width%=%bmpx
    def &BI_RGB 0
    def &DIB_RGB_COLORS 0
    struct BITMAPINFOHEADER =
    biSize&, biWidth&, biHeight&, biPlanes%, biBitCount%, biCompression&,
    biSizeImage&, biXPelsPerMeter&, biYPelsPerMeter&, biClrUsed&, biClrImportant&
    dim bmi#,BITMAPINFOHEADER
    clear bmi#

    with bmi#

        .biSize&        = sizeof(bmi#)
        .biWidth&       = width%
        .biHeight&      = height%
        .biPlanes%      = 1
        .biBitCount%    = 32
        .biCompression& = &BI_RGB
        .biSizeImage&   = ((.biWidth& * .biBitCount%  8 - 1) | 3 + 1) * abs(.biHeight&)

    endwith

    bild_h& = Crear(hPic, -1, namebild$)
    drawpic bild_h&,10,10,0
    a&=bmi#.biSizeImage&
    dim bildxy#,a&
    ~GetDIBits(%hdc,bild_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)

    whileloop 128*4*10

        byte bildxy#,&bucle=255

    endwhile

    ~setDIBits(%hdc,bild_h&,0,bmi#.biHeight&,bildxy#,bmi#,0)
    drawpic bild_h&,10,150,0
    disponer bmi#
    disponer bildxy#

ENDPROC

 
19.08.2008  
 



Klasse Contribución y schön erklärt!
 
19.08.2008  
 




Frank
Abbing
So ha IF el DIBs ahora endlich auch verstanden...
 
20.08.2008  
 



Yo wusste el Tag sería kommen...
 
20.08.2008  
 



Im obigen Code war una Fehler versteckt, Yo de
KompilierenMarcaSeparación
height%=%bmpx
width%=%bmpye>

KompilierenMarcaSeparación
height%=%bmpy
width%=%bmpxe>
gemacht.
 
24.02.2009  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.375 Views

Untitledvor 0 min.
H.Brill15.09.2021
AndreasS27.12.2018
Heli9824.06.2017
funkheld12.01.2014
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

iF (3x)
Frank Abbing (1x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie