نمایش نتایج 1 تا 2 از 2

نام تاپیک: چطوری میشه از استامپ wia استفاده کرد واسه دو تا استریم به جای ادرس فایل

  1. #1

    چطوری میشه از استامپ wia استفاده کرد واسه دو تا استریم به جای ادرس فایل

    سلام ، دو تا استریم دارم میخوام با کمک استامپ wia استریم اول را روی استریم دوم قرارم بدم ، معمولا زمانی که میخواستم از ادرس فایل استفاده میکنم می اومدم از روش زیر استفاده میکردم :

    Public Sub mergeimagewithmasterimage(ByVal masterimagefile As String, ByVal fileforappend As String, ByVal masterimagefileoutput As String, ByVal Left as Long, ByVal Top as Long)
    On Error Resume Next
    Dim Source As WIA.ImageFile
    Set Source = New WIA.ImageFile
    Source.LoadFile App.Path & "\" & fileforappend

    Dim ImgF As WIA.ImageFile
    Dim ImgP As WIA.ImageProcess
    Set ImgF = New WIA.ImageFile
    ImgF.LoadFile App.Path & "\" & masterimagefile
    Set ImgP = New WIA.ImageProcess
    With ImgP
    .Filters.Add .FilterInfos!Stamp.FilterID
    .Filters(1).Properties("ImageFile") = Source
    .Filters(1).Properties("Left") = Left
    .Filters(1).Properties("Top") = Top
    .Filters(1).Properties("FrameIndex") = 0
    Set ImgF = .Apply(ImgF)
    End With
    ImgF.SaveFile App.Path & "\" & masterimagefileoutput
    End Sub


    اما الان میخوام به جای فایل از ارایه یا همون استریم به جای دو تا فایل استفاده کنم ، میدونم که با ویکتور میشه عکس را تبدیل کردم به استریم اما بعدش که میخوام با استامپ عکس ها را ترکیب کنم نمیدونم چطوری باید این دو تا استریم را بیارم داخل استامپ. کسی میتونه کمک کنه؟

  2. #2

    نقل قول: چطوری میشه از استامپ wia استفاده کرد واسه دو تا استریم به جای ادرس فایل

    این مساله را با استفاده از یک کلاس خاص به نام cGDIPlusCache به شکل زیر حل کردم :

    Dim myc As New cGDIPlusCache
    myc.AddImage "captured", .mypic2.Image
    myc.DrawImage LayeredCanvas_Form(ParentForm.mylayeredformid).hDC , "captured", ParentForm.capturearea.Left, ParentForm.capturearea.Top
    myc.Remove "captured"
    Set myc = Nothing
    با این روش دیگر نیاز به استفاده از WIA برای استامپ کردن یک تصویر با یک دیتای استریم نیست و خروجی نهایی که یک استریم پی ان جی هست را میتوانم با خاصیتی که در کلاس لایه از قبل طراحی کردم به دست بیارم به شکل زیر :

    Dim a()
    LayeredCanvas_Form(x).GetAsStream a()
    بنابراین وابستگی به فایل خارجی کامل از بین می رود و برنامه میتواند بدون ذخیره سازی داده ای بر روی دیسک با پی ان جی کار کند و تصویر یا تصاویر دلخواه را بر روی پی ان اجی اولیه بدون از بین رفتن خاصیت ترانسپرنسی استامپ کند.

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: دوشنبه 16 اردیبهشت 1398, 08:10 صبح
  2. سوال: استفاده از بسته ویرایشی بوت استرپ فارسی یا بوت استرپ اصلی؟
    نوشته شده توسط پیام حیاتی در بخش طراحی وب (Web Design)
    پاسخ: 2
    آخرین پست: پنج شنبه 29 بهمن 1394, 10:33 صبح
  3. سوال: درج محتوای پست با استایلی مستقل از استایل صفحه ی اصلی
    نوشته شده توسط mojtabamalaekeh در بخش طراحی وب (Web Design)
    پاسخ: 6
    آخرین پست: شنبه 06 دی 1393, 22:42 عصر
  4. پاسخ: 16
    آخرین پست: شنبه 26 مرداد 1392, 19:37 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •