Oppure

Loading
14/12/07 20:19
P4p3r0g4
la soluzione esiste ma è abbastanza pesantina.
con la api getpixel(mi pare che sia questa che ricavi il colore)
basta con dei cicli trovare la coordinata x e y oltre le quali il colore del picturebox è omogeneo in ogni suo punto.

in alternativa bisognerebbe fare una cosa intelligente Prima o durante l'immisione del disegno della picturebox.
dimmi se mi segui e specifica meglio le tue esigenze e il tuo programma.
Ultima modifica effettuata da P4p3r0g4 14/12/07 20:21
aaa
14/12/07 22:01
GrG
ecco il mio programma come deve funzionare:
allora ho 3 picture (picture1 e picture2 e picture 3)

In queste 2 picture c'è un'immagine che poi nella picture1 voglio unire assieme a quella dell'altra picture quindi po diverrà:

picture1 = picture2.Image + picture3.Image

le immagini devono essere uno a fianco all'altra, ma le dimensioni dell'immagini possono variare, quindi ho bisogno di ricavare la grandezza dell'immagine...

Spero di essere stato chiaro.
Ultima modifica effettuata da GrG 14/12/07 22:03
aaa
15/12/07 11:40
antometal
forse ho la soluzione ma nn son sicuro che funzioni xk nn ho vb adesso...

crei 2 image anzichè picture box
img1 e img2 nelle quali metti le immagini

quando poi devi salvarle scrivi questo codice:

dim picSave as picturebox
picSave.Autoredraw=not(picsave.autoredraw)   'nn ricordo se di default è true o false cmq metti il contrario di cio che è
'adesso metto le immagini nella picturebox
picsave.paintpicture img1.picture, 0,0
picsave.paintpicture img2.picture,0,img1.width
'ora bisogna impostare le dimensioni della picturebox... nn so se va impostanto la proprietà autosize=true, in caso nn funzionasse prova questo codice
picsave.height=img1.height or img2.height 'nn sono sicuro che funzioni, in tal caso fai un if per impostare picsave.height= all' altezza maggiore delle 2 imagebox
picsave.width=img1.widht+img2.widht
'salvataggio
savepicture picsave.image, xcorsofile


ripeto, nn son sicuro che funzioni se ci son problemi posta:-|
aaa
15/12/07 19:24
GrG
Grazie x l'aiuto,..ma purtroppo il codice nn va..
Ecco l'errore:

Run-Time error '91':

Object variable or With block variable not set



aaa
15/12/07 21:55
gantonio
Devi scrivere semplicemente

Picture3.AutoRedraw = True
    
Picture3.Width = Picture1.Width + Picture2.Width
Picture3.Height = IIf(Picture1.Height > Picture2.Height, Picture1.Height, Picture2.Height)
    
Picture3.PaintPicture Picture1, 0, 0
Picture3.PaintPicture Picture2, Picture1.Width, 0
aaa
15/12/07 22:00
antometal
ho risolto il problema...
crei le 2 imagebox e una picturebox(picSave nascosta)
poi questo codice

picSave.AutoRedraw = True
picSave.Height = Img2.Height
picSave.Width = img1.Width + Img2.Width
picSave.PaintPicture img1.Picture, 0, 0
picSave.PaintPicture Img2.Picture, img1.Width, 0
SavePicture picSave.Image, xcorso
aaa
15/12/07 22:16
gantonio
Questa riga

Postato originariamente da antometal:

picSave.Height = Img2.Height


potrebbe non essere corretta
aaa
16/12/07 10:01
GrG
Grazie 10000000 funziona!!!
aaa