--============================================================================================================= -- Application Name: -- ESign System -- -- Code Description: -- This is the sub routine that is called once the scanner has completed a scan of an image (ID or Document). -- The imaged is resized based on scanner/printer type and quality setting, the company's watermark is added, -- and then application flags are set. -- =--============================================================================================================ Private Sub VsTwain1_PostScan(ByVal sender As System.Object, ByVal e As VintaSoft.Twain.PostScanEventArgs) Handles VsTwain1.PostScan Dim intHeight As Integer, intWidth As Integer Dim bmpScan As Bitmap PanelMessage("") If Not e.Flag Then If VsTwain1.errorCode <> 0 Then MsgBox(VsTwain1.errorString, MsgBoxStyle.Information, "ERROR") End If Else PanelMessage("Processing Scan...") If Current_ID_Scan = 1 Then If blnHPLJ3300 Then '============================ ' 1.0.9a Fix '============================ bmpScan = CropImage(VsTwain1.GetCurrentImage, 0, 0, 800, 1000) bmpScan = Zoom(bmpScan, 2) intWidth = (bmpScan.Width / 100) * 75 intHeight = (bmpScan.Height / 100) * 75 Else bmpScan = VsTwain1.GetCurrentImage intWidth = (bmpScan.Width / 200) * 75 intHeight = (bmpScan.Height / 200) * 75 'intWidth = (VsTwain1.GetCurrentImage.Width / 200) * 75 'intHeight = (VsTwain1.GetCurrentImage.Height / 200) * 75 End If ResizeScans(intWidth, intHeight) Dim strWaterMark As String Dim WaterMark As New ImageWatermarkingUtilities strWaterMark = Formats.GetWaterMark() Dim MyBitMap As New Bitmap(strWaterMark) Dim MyImage As Image Dim lngQuality As Long lngQuality = Formats.GetScanQuality() Dim objEnc As System.Drawing.Imaging.ImageCodecInfo Dim objEncParams As New System.Drawing.Imaging.EncoderParameters(1) Dim objEncParam As New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, lngQuality) objEnc = Watermark.GetEncoderInfo("image/jpeg") objEncParams.Param(0) = objEncParam '============================ ' 1.0.9a Fix '============================ 'MyImage = WaterMark.AddWatermark(VsTwain1.GetCurrentImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(bmpScan, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.MiddleCenter) 'WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.BottomCenter).Save(Invoice.GetCustID1File(), System.Drawing.Imaging.ImageFormat.Jpeg) WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.BottomCenter).Save(Invoice.GetCustID1File(), objEnc, objEncParams) pbCustomerID1.Image = System.Drawing.Image.FromFile(Invoice.GetCustID1File) If VsTwain1.errorCode <> 0 Then MsgBox(VsTwain1.errorString) Invoice.HasCustomerID1 = False Else Invoice.HasCustomerID1 = True End If MyBitMap.Dispose() MyImage.Dispose() WaterMark = Nothing objEncParam = Nothing objEncParams = Nothing objEnc = Nothing ElseIf Current_ID_Scan = 2 Then If blnHPLJ3300 Then '============================ ' 1.0.9a Fix '============================ bmpScan = CropImage(VsTwain1.GetCurrentImage, 0, 0, 800, 1000) bmpScan = Zoom(bmpScan, 2) intWidth = (bmpScan.Width / 100) * 75 intHeight = (bmpScan.Height / 100) * 75 Else bmpScan = VsTwain1.GetCurrentImage intWidth = (bmpScan.Width / 200) * 75 intHeight = (bmpScan.Height / 200) * 75 'intWidth = (VsTwain1.GetCurrentImage.Width / 200) * 75 'intHeight = (VsTwain1.GetCurrentImage.Height / 200) * 75 End If ResizeScans(intWidth, intHeight) Dim strWaterMark As String Dim WaterMark As New ImageWatermarkingUtilities strWaterMark = Formats.GetWaterMark() Dim MyBitMap As New Bitmap(strWaterMark) Dim MyImage As Image Dim lngQuality As Long lngQuality = Formats.GetScanQuality() Dim objEnc As System.Drawing.Imaging.ImageCodecInfo Dim objEncParams As New System.Drawing.Imaging.EncoderParameters(1) Dim objEncParam As New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, lngQuality) objEnc = Watermark.GetEncoderInfo("image/jpeg") objEncParams.Param(0) = objEncParam '============================ ' 1.0.9a Fix '============================ 'MyImage = WaterMark.AddWatermark(VsTwain1.GetCurrentImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(bmpScan, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.MiddleCenter) 'WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.MiddleCenter).Save(Invoice.GetCustID2File(), System.Drawing.Imaging.ImageFormat.Jpeg) WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.BottomCenter).Save(Invoice.GetCustID2File(), objEnc, objEncParams) pbCustomerID2.Image = System.Drawing.Image.FromFile(Invoice.GetCustID2File) If VsTwain1.errorCode <> 0 Then MsgBox(VsTwain1.errorString) Invoice.HasCustomerID2 = False Else Invoice.HasCustomerID2 = True End If MyBitMap.Dispose() WaterMark = Nothing objEncParam = Nothing objEncParams = Nothing objEnc = Nothing ElseIf Current_ID_Scan = 3 Then If blnHPLJ3300 Then '============================ ' 1.0.9a Fix '============================ bmpScan = CropImage(VsTwain1.GetCurrentImage, 0, 0, 800, 1000) bmpScan = Zoom(bmpScan, 2) intWidth = (bmpScan.Width / 100) * 75 intHeight = (bmpScan.Height / 100) * 75 Else bmpScan = VsTwain1.GetCurrentImage intWidth = (bmpScan.Width / 200) * 75 intHeight = (bmpScan.Height / 200) * 75 'intWidth = (VsTwain1.GetCurrentImage.Width / 200) * 75 'intHeight = (VsTwain1.GetCurrentImage.Height / 200) * 75 End If ResizeScans(intWidth, intHeight) Dim strWaterMark As String Dim WaterMark As New ImageWatermarkingUtilities strWaterMark = Formats.GetWaterMark() Dim MyBitMap As New Bitmap(strWaterMark) Dim MyImage As Image Dim lngQuality As Long lngQuality = Formats.GetScanQuality() Dim objEnc As System.Drawing.Imaging.ImageCodecInfo Dim objEncParams As New System.Drawing.Imaging.EncoderParameters(1) Dim objEncParam As New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, lngQuality) objEnc = Watermark.GetEncoderInfo("image/jpeg") objEncParams.Param(0) = objEncParam '============================ ' 1.0.9a Fix '============================ 'MyImage = WaterMark.AddWatermark(VsTwain1.GetCurrentImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(bmpScan, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.TopCenter) MyImage = WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.MiddleCenter) 'WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.MiddleCenter).Save(Invoice.GetEmancipationFile(), System.Drawing.Imaging.ImageFormat.Jpeg) WaterMark.AddWatermark(MyImage, MyBitMap, ImageWatermarkingUtilities.WatermarkLocation.BottomCenter).Save(Invoice.GetEmancipationFile(), objEnc, objEncParams) pbEmancipation.Image = System.Drawing.Image.FromFile(Invoice.GetEmancipationFile()) If VsTwain1.errorCode <> 0 Then MsgBox(VsTwain1.errorString) Invoice.HasEmancipation = False Else Invoice.HasEmancipation = True End If MyBitMap.Dispose() WaterMark = Nothing objEncParam = Nothing objEncParams = Nothing objEnc = Nothing End If PanelMessage("") End If End Sub