示例#1
0
        public void XandYcorrection()
        {
            DSLR_Tool_PC.ViewModels.Watermark waterMarkProperties = DSLR_Tool_PC.ViewModels.Watermark.GetInstance();
            double x = (__mainWindowAdvanced.EditPicGrid.ActualWidth - __mainWindowAdvanced.EditFramePicEdit.ActualWidth);

            x = (double)(x / 2);

            double y = (__mainWindowAdvanced.EditPicGrid.ActualHeight - __mainWindowAdvanced.EditFramePicEdit.ActualHeight);

            y          = (double)(y / 2);
            y          = waterMarkProperties.LocationX - y;
            x          = waterMarkProperties.LocationY - x;
            x_location = (int)Math.Ceiling(x * x_Cordinate);
            y_location = (int)Math.Ceiling(y * y_Cordinate);
        }
示例#2
0
        //
        //  Summary:
        //      Applies watermark on the filtered frame.
        //
        //  Parameters:
        //      Sourcefile path to apply watermark.
        //
        public static void ApplyWatermark(string sourcePath)
        {
            DSLR_Tool_PC.ViewModels.Watermark waterMarkProperties = DSLR_Tool_PC.ViewModels.Watermark.GetInstance();
            Bitmap wImage = new Bitmap(waterMarkProperties.ImagePath);
            //Bitmap watermarkImage = new Bitmap(wImage, waterMarkProperties.ImageWidth, waterMarkProperties.ImageHeight);

            Bitmap image = new Bitmap(sourcePath);
            //Adjust size of watermark image//
            Bitmap watermarkImage = new Bitmap(WatermarkProperties.getInstance().WatermarkResolutionCorrection(wImage, image));

            //Opacity correcting of watermark
            if (waterMarkProperties.IsOpacityApply)
            {
                watermarkImage = SetOpacity(watermarkImage, (float)waterMarkProperties.ImageOpacity1);
            }

            //Correction for x and y co-ordinate of watermark on final image.
            WatermarkProperties.getInstance().XandYcorrection();

            //store watermark on the final image
            Bitmap Finalimage = new Bitmap(WatermarkProperties.getInstance().WatermarkImage(image, watermarkImage, WatermarkProperties.getInstance().x_location, WatermarkProperties.getInstance().y_location));

            image.Dispose(); image = null;
            string dst = sourcePath;

            if (File.Exists(sourcePath))
            {
                File.Delete(sourcePath);
            }
            StaticClass.saveBitmap2File(Finalimage, dst);
            wImage.Dispose();
            Finalimage.Dispose();
            watermarkImage.Dispose();
            GC.Collect();
            Thread.Sleep(10);
        }