CONTROLANDO TAMANHO DE UMA IMAGEM

EPISCOPAL 19/04/2011 19:43:34
#371932
Olá .... pessoal

é o seguinte, eu tenho um controle RichTextbox que quando eu carrego uma imagem muito grande, a imagem tambem fica grande no controle.


gostaria se existe alguma maneira de contornar isso. eu queria que a image ficasse em um tamanho tipo 4000X4000 pixels ou menor?????
TECLA 19/04/2011 20:24:57
#371940
Como você carrega a imagem no RichTextBox?
Usando um objeto Picture dá pra redimensionar a imagem.
EPISCOPAL 19/04/2011 20:40:42
#371942
eu uso um sendmessage wm_past .... entendeu?

como faz para dimensionar com picture???
MARCELO.TREZE 20/04/2011 00:27:52
#371959
Resposta escolhida
eu entendi o que vc deseja, vc está colocando a imagem no richtextbox, porém se a imagem for muito grande ela será colada grande no richtextbox, e ter de redimensionar todas suas imagens manualmente para colocar no richtext ficará meio complicado né.

bom eu pesquisei e não encontrei nada na net, porém achei este um problema a ser estudado e resolvido, no final encontrei uma solução, e desenvolvi um POG que redimensiona a imagem pro tamanho que vc quiser antes de colar no richtext.


vamos lá

insira uma picturbox em seu projeto, esta poderá ficar com a propriedade visible = False pois vc não deseja visualizar esta picture quando o projeto estiver em execução.

o Tamanho desta picture será o tamanho da imagem a ser colada no richtextbox, então vc pode colocar esta picture sobre seu richtextbox e dimensionar como desejar.

depois só falta o código, e eis o que criei.

[ô][txt-color=#007100]no general do form[/txt-color]
Const WM_PASTE = &H302
Private Declare Function SendMessageByLong Lib [Ô]user32[Ô] Alias [Ô]SendMessageA[Ô] (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long


Private Sub Command1_Click()
[txt-color=#007100][ô]inseri este botão para colar a imagem no richtextbox[/txt-color]
Clipboard.Clear
Clipboard.SetData Picture1.Image
SendMessageByLong RichTextBox1.hwnd, WM_PASTE, 0, 0&
End Sub


Private Sub Form_Load()
[txt-color=#007100][ô]A função deve ser chamada no load para carregar a imagem na
[ô]picturebox temporaia antes de colar no richtextbox[/txt-color]
RedimPicture Picture1, [Ô]C:\suaimagem.jpg[Ô]
End Sub


Function RedimPicture(Pict As PictureBox, Caminho As String)
[txt-color=#007100][ô]criei uma picturebox temporaria[/txt-color]
Dim pic_temp As PictureBox
Set pic_temp = Picture1
pic_temp.AutoRedraw = True
pic_temp.Picture = LoadPicture(Caminho)
pic_temp.PaintPicture pic_temp.Picture, 0, 0, Pict.Width, Pict.Height
Pict.Picture = pic_temp.Image
End Function


olha não sei se é isso que desejava, mas sei que isso irá me ajudar muito, acredito
que muitos outros colegas também.

Boa sorte
EPISCOPAL 20/04/2011 14:49:32
#372035
Caraka ............... é isso mesmoooooooooooooooooooooooooooooooooooooooo


valeuuuuuuu !!!
Tópico encerrado , respostas não são mais permitidas