MANIPULACAO DE IMAGENS - ZOOM
Olá pessoal, tenho um programinha e gostaria de adicioná-lo a opções de ZOOM nas imagens e poder definir o quanto de ZOOM.
Alguém poderia me dizer o que posso usar para fazer isso???
Alguém poderia me dizer o que posso usar para fazer isso???
Faz o seguinte.
Crie 2 comands: um escrito 'ZOOM -' e outro 'ZOOM +'
No código do command 1 escreva:
No código do command 2 escreva:
Espero que tenha entendido
Private Sub Command1_Click()
On Error Resume Next
Image1.Width = Image1.Width - 100
Image1.Height = Image1.Height - 100,
End Sub
Private Sub Command2_Click()
On Error Resume Next
Image1.Width = Image1.Width + 100
Image1.Height = Image1.Height + 100,
End Sub
Espero que tenha entendido
Ajudando um pouco mais:
Se voce quiser fazer um efeito de zoom, devera aumentar a altura e largura proporcionalmente, isto e, se dobrar a altura devera dobrar a largura tambem.
Se voce diminuir a altura em 20%, devera diminuir a largura no mesmo indice.
Um exemplo:
No inicio -> Image1.Width = 1000 e Image1.Height = 700
No final -> Image1.Width = 800 e Image1.Height = 560
Se voce nao diminuir e aumentar proporcionalmente a imagem ficara "esticada".
O Ãndice de zoom voce poderia colocar numa ComboBox, e depois voce aplicaria na altura e largura assim:
Image1.Width = Image1.Width * ((100+CboIndice)/100)
Image1.Height = Image1.Height * ((100+CboIndice)/100)
Espero ter ajudado.
Se voce quiser fazer um efeito de zoom, devera aumentar a altura e largura proporcionalmente, isto e, se dobrar a altura devera dobrar a largura tambem.
Se voce diminuir a altura em 20%, devera diminuir a largura no mesmo indice.
Um exemplo:
No inicio -> Image1.Width = 1000 e Image1.Height = 700
No final -> Image1.Width = 800 e Image1.Height = 560
Se voce nao diminuir e aumentar proporcionalmente a imagem ficara "esticada".
O Ãndice de zoom voce poderia colocar numa ComboBox, e depois voce aplicaria na altura e largura assim:
Image1.Width = Image1.Width * ((100+CboIndice)/100)
Image1.Height = Image1.Height * ((100+CboIndice)/100)
Espero ter ajudado.
Ah cara tem um programa aqui no site que faz isso a nÃvel profissional:
http://www.vbmania.com.br/vbmdetail.php?varID=2364
http://www.vbmania.com.br/vbmdetail.php?varID=2364
Bom , quando fiz essa função tive outros proposito, + vale a pena c dar uma olhada
====================================================================
Dim var_nZomm As Long
Public Sub sbPicture(ByRef par_objPicture, ByVal par_objPicImagem, _
Optional ByVal par_nPercent_Centro_Imagem = 30)
Dim var_nHeight As Double
Dim var_nWidth As Double
On Error GoTo error_
If par_objPicImagem <> 0 Then
par_objPicture.Cls
var_nHeight = par_objPicture.Height - (par_objPicture.Height * (par_nPercent_Centro_Imagem / 100))
var_nWidth = par_objPicture.Width - (par_objPicture.Width * (par_nPercent_Centro_Imagem / 100))
par_objPicture.PaintPicture par_objPicImagem, par_objPicture.Width / 2 - var_nWidth / 2, par_objPicture.Height / 2 - var_nHeight / 2, var_nWidth, var_nHeight
End If
Exit Sub
error_:
MsgBox Err.Description & " " & Err.Number, vbCritical, "sbPicture"
End Sub
Private Sub cmdZommadd_Click()
var_nZomm = var_nZomm - 10
sbPicture Picture2, Picture1, var_nZomm
End Sub
Private Sub cmdZommRem_Click()
var_nZomm = var_nZomm + 10
sbPicture Picture2, Picture1, var_nZomm
End Sub
Private Sub Form_Load()
var_nZomm = 95
sbPicture Picture2, Picture1, var_nZomm
End Sub
=====================================================================
ESPERO TER AJUDADO
====================================================================
Dim var_nZomm As Long
Public Sub sbPicture(ByRef par_objPicture, ByVal par_objPicImagem, _
Optional ByVal par_nPercent_Centro_Imagem = 30)
Dim var_nHeight As Double
Dim var_nWidth As Double
On Error GoTo error_
If par_objPicImagem <> 0 Then
par_objPicture.Cls
var_nHeight = par_objPicture.Height - (par_objPicture.Height * (par_nPercent_Centro_Imagem / 100))
var_nWidth = par_objPicture.Width - (par_objPicture.Width * (par_nPercent_Centro_Imagem / 100))
par_objPicture.PaintPicture par_objPicImagem, par_objPicture.Width / 2 - var_nWidth / 2, par_objPicture.Height / 2 - var_nHeight / 2, var_nWidth, var_nHeight
End If
Exit Sub
error_:
MsgBox Err.Description & " " & Err.Number, vbCritical, "sbPicture"
End Sub
Private Sub cmdZommadd_Click()
var_nZomm = var_nZomm - 10
sbPicture Picture2, Picture1, var_nZomm
End Sub
Private Sub cmdZommRem_Click()
var_nZomm = var_nZomm + 10
sbPicture Picture2, Picture1, var_nZomm
End Sub
Private Sub Form_Load()
var_nZomm = 95
sbPicture Picture2, Picture1, var_nZomm
End Sub
=====================================================================
ESPERO TER AJUDADO
Tópico encerrado , respostas não são mais permitidas