Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo usar vb para rotar formas?

¿Cómo usar vb para rotar formas?

Inicie vb6 para crear un proyecto exe estándar. Primero agregue dos cuadros de imagen (imagen1 e imagen2) y agregue tres botones de comando: comando1 (título = "Visualización normal"), Comando2 (título = "inversión de 180 grados") y Comando3 (título = "rotación de 45 grados").

PrivateConstSRCCOPY = & ampHCC0020

PrivateConstPi=3.14

privatdeclarefunctionsetpixellib " GDI 32 "(ByValhdcAsLong, ByValxAsLong, ByValyAsLong, ByValcrColorAsLong)AsLong

privatedeclarefunctiongetpixellib " GDI 32 "(ByValhdcAsLong, ByValxAsLong, ByValyAsLong)AsLong

privatdeclarefunctionstretchbltlib " GDI 32 "(ByValhdcAsLong, ByValxAsLong, ByValyAsLong, ByValnWidthAsLong, ByValnHeightAsLong, ByValhSrcDCAsLong, xS rcAsLong, ByValySrcAsLong, ByValnSrcWidth AsLong, ByValnSrcHeightAsLong, ByValdwRopAsLong) AsLong

PrivateSubBMP _ rotar (imagen 1 como PictureBox, PIC2AS PictureBox, ByvalTheta)' rotación de 45 grados.

dimc 1x como entero, c 1ya entero

Dimc2xAsInteger, c2yAsInteger

dimc 1x como entero, p 1ya entero

Dimp2xAsInteger, p2yAsInteger

DimnAsInteger, rAsInteger

c1x=pic1. Ancho de escala\2

c1y=pic1. EscalaAltura\2

c2x=pic2. Ancho de escala\2

c2y=pic2. ScaleHeight\2

Ifc2x $ # @ 60c2yThenn=c2yElsen=c2x

n=n-1

pic1hDC=pic1.hdc

pic2hDC=pic2.hdc

Forp2x = 0Ton

Forp2y = 0Ton

ifp2x = 0 thena = Pi/2 elsea = Atn(p2y/p2x)

r = Sqr(1 & amp;p2x * p2x+1 & amp;*p2y*p2y)

p 1x = r * Cos(a+θ)

p1y=r*Sin(a+theta)

c0 & amp=GetPixel(pic1hDC, c1x+p1x, c1y+p1y)

c1.

=GetPixel(pic1hDC, c1x-p1x, c1y-p1y)

c2 & amp=GetPixel(pic1hDC, c1x+p1y, c1y-p1x)

c3 & amp=GetPixel(pic1hDC , c1x-p1y, c1y+p1x)

Ifc0 & amp$#@60;$#@62;-1EntoncesSetPixelpic2hDC, c2x+p2x, c2y+p2y, c0

Ifc1. $#@60;$#@62;-1ThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1

Ifc2 & amp$#@60;$#@62;-1 entoncesseppi pic 2 hdc,c2x +p2y,c2y-p2x,c2

Ifc3 &$#@60;$#@62;-1EntoncesSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3

Entonces

p>

Luego

Finalizar conector

Subcomando privado 1 _ click()'Copia normal

Imagen 2. Cls

px=Imagen1. Ancho de escala

py=alto de escala de Imagen1

StretchBltPicture2.hdc, px, 0, -px, py, Picture1.hdc, 0, 0, px, py, SRCCOPY

Conector final

Subcomando privado 2 _ click()' inversión de 180 grados

Imagen 2. Cls

px=Imagen1. Ancho de escala

py=alto de escala de Imagen1

StretchBltPicture2.hdc, 0, py, px, -py, Picture1.hdc, 0, 0, px, py, SRCCOPY

Conector final

Subcomando privado 3 _ click()' 45 rotar

Imagen 2. Cls

Callbmp_rotate(Imagen 1, Imagen 2, 3.14/4)

Conector final

PrivateSubForm_Load()

OnErrorResumeNext

Yo. Título=Aplicación. Título "Agregar título de la aplicación.

i.Left=(Screen.Width - i.Width)/2

i.top = (Screen.Height - i.Height)/ 2 pulgadas

Imagen 1. ScaleMode=3

Imagen 2.

Accesorios finales