حل شد :
با کمک دستور printwindow و دستوارت wia مجبور شدم عکس ها را باهم ترکیب کنم چیزی شبیه این :
With Me
Dim br() As Byte
LayeredCanvas_Form(Main_Form1.mylayeredformid).Get AsStream br()
If Dir(App.Path & "\skin.dat") <> "" Then Kill App.Path & "\skin.dat"
LayeredCanvas_Form(Main_Form1.mylayeredformid).Sav eAsPNG App.Path & "\skin.dat"
If .myimg.PictureExist Then .myimg.PictureDelete
.mypic.Left = 20000
.mypic.Top = 20000
.mypic2.Left = 20000
.mypic2.Left = 20000
.myimg.PictureFromStream br
Erase br
.myimg.Visible = True
.myimg.Width = Main_Form1.bg(0).Width
.myimg.Height = Main_Form1.bg(0).Height
.myimg.Refresh
.myimg.Left = 0
.myimg.Top = 0
.mypic.Left = 0
.mypic.Top = 0
.mypic.Width = Main_Form1.bg(0).Width
.mypic.Height = Main_Form1.bg(0).Height
PrintWindow .hWnd, .mypic.hDC, 1
If .myimg.PictureExist Then .myimg.PictureDelete
.myimg.Refresh
.myimg.Visible = False
Set .mypic.Picture = .mypic.Image
.mypic2.Width = Main_Form1.capturearea.Width
.mypic2.Height = Main_Form1.capturearea.Height
BitBlt .mypic2.hDC, 0, 0, Main_Form1.capturearea.Width, Main_Form1.capturearea.Height, .mypic.hDC, Main_Form1.capturearea.Left, Main_Form1.capturearea.Top, vbSrcCopy
Set .mypic2.Picture = .mypic2.Image
.mypic2.Refresh
If Dir(App.Path & "\crop.dat") <> "" Then Kill App.Path & "\crop.dat"
SavePicture .mypic2.Image, App.Path & "\crop.dat"
.mypic.Picture = LoadPicture(""): .mypic2.Picture = LoadPicture("")
.mypic.Width = 100: .mypic.Height = 100
.mypic2.Width = 100: .mypic2.Height = 100
.myimg.Left = 2000: .myimg.Top = 2000: .myimg.Width = 100: .myimg.Width = 100: .myimg.Visible = False
.mypic.Left = 20000: .mypic.Top = 20000
.mypic2.Left = 20000: .mypic2.Left = 20000
.Refresh
End With
Dim mycls As New clscapture
mycls.CaptureFormAndSaveFile "skin.dat", "crop.dat", "data.dat", Main_Form1.capturearea.Left, Main_Form1.capturearea.Top
Set mycls = Nothing
End Sub