chenxy преди 6 години
родител
ревизия
404b825729

+ 13 - 0
DK.Basics/InvoiceLayout/Controls/Common/LayoutCommon.cs

@@ -312,6 +312,19 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
                 return 0;
             }
         }
+        /// <summary>
+        /// 毫米转换为像素
+        /// </summary>
+        /// <param name="mm">毫米</param>
+        /// <param name="paperZoom">表示倍率%</param>
+        /// <returns>像素</returns>
+        public static int MillimeterToPixelDpi(float mm, float dpi)
+        {
+            decimal pixel = System.Convert.ToDecimal(mm) /
+            System.Convert.ToDecimal(LayoutConsts.MILLIMETER_PER_INCH) *
+            System.Convert.ToDecimal(dpi);
+            return System.Convert.ToInt32(Math.Round(pixel, 0));
+        }
 
         /// <summary>
         /// 毫米转换为像素

+ 77 - 52
DK.Basics/InvoiceLayout/Items/TextItem.cs

@@ -4,11 +4,13 @@ using System.Collections.Generic;
 using System.Drawing;
 using System.Globalization;
 using System.Windows.Forms;
+
 using Curtain.Framework.Barcode;
+using Curtain.Framework.Barcode.OneD;
 using Curtain.Framework.Barcode.QRCode;
+
 using ZXing;
 using ZXing.Common;
-using ZXing.QrCode;
 using ZXing.QrCode.Internal;
 
 namespace Dongke.WinForm.Controls.InvoiceLayout
@@ -1074,6 +1076,24 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
             {
                 if (this._itemStyle == ItemStyle.Barcode)
                 {
+                    if (isPrint)
+                    {
+                        OneDDrawingOptions ops = new OneDDrawingOptions();
+                        //ops.DrawGraphics = graphics;
+                        ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom : BarcodeShowType.Show);
+                        //ops.ImageWidth = this.SimpleShape.Width;
+                        //ops.ImageHeight = this.SimpleShape.Height;
+                        ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                        ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiX);
+                        ops.DpiX = graphics.DpiX;
+                        ops.DpiY = graphics.DpiY;
+                        using (Image pic1 = OneDHelper.GetOneDImage(value.ToString(), ops))
+                        {
+                            graphics.DrawImage(pic1, rectangleM, ops.ImageRect, GraphicsUnit.Pixel);
+                        }
+                        return;
+                    }
+
                     Image pic = null;
                     if (!isPrint && this.SimpleShape.Width == this._picCodeWidth &&
                         this.SimpleShape.Height == this._picCodeHeight &&
@@ -1084,20 +1104,25 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
 
                     if (pic == null)
                     {
-                        BarcodeWriter writer = new BarcodeWriter();
-                        EncodingOptions options = new EncodingOptions()
-                        {
-                            PureBarcode = true,
-                            Margin = 0,
-                        };
-                        writer.Options = options;
-                        writer.Format = BarcodeFormat.CODE_128;
-                        //writer.Options.ErrorCorrection = ErrorCorrectionLevel.H;
-                        writer.Options.Width = this.SimpleShape.Width;
-                        writer.Options.Height = this.SimpleShape.Height;
-                        pic = writer.Write(value.ToString());
+                        OneDDrawingOptions ops = new OneDDrawingOptions();
+                        //ops.DrawGraphics = graphics;
+                        ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom : BarcodeShowType.Show);
+                        //ops.ImageWidth = this.SimpleShape.Width;
+                        //ops.ImageHeight = this.SimpleShape.Height;
+                        ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                        ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiX);
+                        ops.DpiX = graphics.DpiX;
+                        ops.DpiY = graphics.DpiY;
+                        pic = OneDHelper.GetOneDImage(value.ToString(), ops);
+
                         if (!isPrint)
                         {
+                            try
+                            {
+                                this._picCode?.Dispose();
+                            }
+                            catch
+                            { }
                             this._picCode = pic;
                             _picCodeValue = value.ToString();
                             _picCodeWidth = this.SimpleShape.Width;
@@ -1109,7 +1134,8 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
                     {
                         if (pic != null)
                         {
-                            LayoutUtility.DrawImage(graphics, GraphicsUnit.Millimeter, rectangleM, pic);
+                            //graphics.DrawImage(pic, this.SimpleShape.Bounds, new Rectangle(0, 0, pic.Width, pic.Height), GraphicsUnit.Pixel);
+                            graphics.DrawImage(pic, this.SimpleShape.Bounds);
                         }
                     }
                     catch
@@ -1126,6 +1152,23 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
                 }
                 if (this._itemStyle == ItemStyle.QRCode)
                 {
+                    if (isPrint)
+                    {
+                        QRCodeDrawingOptions ops = new QRCodeDrawingOptions();
+                        //ops.DrawGraphics = graphics;
+                        ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom : BarcodeShowType.Show);
+                        //ops.ImageWidth = this.SimpleShape.Width;
+                        //ops.ImageHeight = this.SimpleShape.Height;
+                        ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                        ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiX);
+                        ops.DpiX = graphics.DpiX;
+                        ops.DpiY = graphics.DpiY;
+                        using (Image pic1 = QRCodeHelper.GetQRCodeImage(value.ToString(), ops))
+                        {
+                            graphics.DrawImage(pic1, rectangleM, ops.ImageRect, GraphicsUnit.Pixel);
+                        }
+                        return;
+                    }
                     Image pic = null;
                     if (!isPrint && this.SimpleShape.Width == this._picCodeWidth &&
                         this.SimpleShape.Height == this._picCodeHeight &&
@@ -1136,45 +1179,26 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
 
                     if (pic == null)
                     {
-                        if (this.Wrap)
-                        {
-                            // 缩放图片
-                            QRCodeEncodingOptions options = new QRCodeEncodingOptions();
-                            options.ECLevel = QRECLevel.H;
-                            QRCodeData qrd =  QRCodeHelper.Encode(value.ToString(),
-                                this.SimpleShape.Width,
-                                this.SimpleShape.Height,
-                                BarcodeMargin.Empty, options);
-                            QRCodeDrawingOptions options1 = new  QRCodeDrawingOptions();
-                            options1.DrawGraphics = graphics;
-                            options1.DpiX = graphics.DpiX;
-                            options1.DpiY = graphics.DpiY;
-                            //qrd.QRWidth = this.SimpleShape.Width;
-                            //qrd.QRHeight = this.SimpleShape.Height;
-                            pic = QRCodeHelper.DrawQRDataImage(qrd, options1);
-                        }
-                        else
-                        {
-                            BarcodeWriter writer = new BarcodeWriter();
-                            QrCodeEncodingOptions options = new QrCodeEncodingOptions();
-                            options.DisableECI = true;
-                            //设置内容编码
-                            //options.CharacterSet = "UTF-8";
-                            //options.QrVersion = 3;
-                            options.ErrorCorrection = ErrorCorrectionLevel.H;
-                            //设置二维码的宽度和高度
-                            options.Width = this.SimpleShape.Width;
-                            options.Height = this.SimpleShape.Height;
-                            //设置二维码的边距,单位不是固定像素
-                            options.Margin = 0;
-                            writer.Encoder = new QRCodeWriterMy();
-                            writer.Options = options;
-                            writer.Format = BarcodeFormat.QR_CODE;
-
-                            pic = writer.Write(value.ToString());
-                        }
+                        QRCodeDrawingOptions ops = new QRCodeDrawingOptions();
+                        //ops.DrawGraphics = graphics;
+                        ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom : BarcodeShowType.Show);
+                        //ops.ImageWidth = this.SimpleShape.Width;
+                        //ops.ImageHeight = this.SimpleShape.Height;
+                        ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                        ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiX);
+                        ops.DpiX = graphics.DpiX;
+                        ops.DpiY = graphics.DpiY;
+                        pic = QRCodeHelper.GetQRCodeImage(value.ToString(), ops);
+
                         if (!isPrint)
                         {
+                            try
+                            {
+                                this._picCode?.Dispose();
+                            }
+                            catch
+                            {
+                            }
                             this._picCode = pic;
                             _picCodeValue = value.ToString();
                             _picCodeWidth = this.SimpleShape.Width;
@@ -1185,7 +1209,8 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
                     {
                         if (pic != null)
                         {
-                            LayoutUtility.DrawImage(graphics, GraphicsUnit.Millimeter, rectangleM, pic);
+                            //graphics.DrawImage(pic, this.SimpleShape.Bounds, new Rectangle(0, 0, pic.Width, pic.Height), GraphicsUnit.Pixel);
+                            graphics.DrawImage(pic, this.SimpleShape.Bounds);
                         }
                     }
                     catch

+ 5 - 5
DK.Service/BarcodePrintService/BarcodePrintLogic.cs

@@ -512,7 +512,6 @@ namespace Dongke.IBOSS.PRD.Service.BarcodePrintService
         /// <returns></returns>
         public static ServiceResultEntity PrintBarcode_3C(string barcode, int copies, int? printerID, SUserInfo sUserInfo, int printWay)
         {
-            int err_lable = 0;
             IDBTransaction oracleTrConn = null;
             string printerName = null;
             int printtype = 0;
@@ -756,13 +755,14 @@ namespace Dongke.IBOSS.PRD.Service.BarcodePrintService
                 //}
                 // TODO 异常分析
                 Dongke.IBOSS.PRD.Basics.Library.OutputLog.TraceLog(Dongke.IBOSS.PRD.Basics.Library.LogPriority.Debug,
-                                   "PrintBarcode --- " + err_lable,
+                                   "PrintBarcode_3C",
                                    "barcode  --  " + barcode + System.Environment.NewLine +
                                    "copies  --  " + copies + System.Environment.NewLine +
                                    "printerID  --  " + printerID + System.Environment.NewLine +
-                                   "printerName  --  " + printerName + System.Environment.NewLine
-                                   ,
-                                   DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff"),
+                                   "printerName  --  " + printerName + System.Environment.NewLine +
+                                   "printType  --  " + printtype + System.Environment.NewLine +
+                                   "printWay  --  " + printWay,
+                                   ex.ToString(),
                                    Dongke.IBOSS.PRD.Basics.Library.LocalPath.LogExePath + @"printdebug\");
                 throw ex;
             }

+ 3 - 3
DK.Service/InvoiceLayout/BarcodeDraw.cs

@@ -20,9 +20,9 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
         /// <returns></returns>
         public static void DrawOneDImageOnGraphics(string value, Rectangle rectangle, OneDDrawingOptions options)
         {
-            OneDData data = OneDHelper.Encode(value, rectangle.Width, rectangle.Height, BarcodeMargin.Empty);
+            OneDData data = OneDHelper.Encode(value, rectangle.Width);
 
-            using (Bitmap dataImage = new Bitmap(data.Lenght, rectangle.Height, options.DrawGraphics))
+            using (Bitmap dataImage = new Bitmap(data.Size, rectangle.Height, options.DrawGraphics))
             {
                 Rectangle imageRect = new Rectangle(0, 0, dataImage.Width, dataImage.Height);
 
@@ -71,7 +71,7 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
         /// <returns></returns>
         public static void DrawQRCodeImageOnGraphics(string value, Rectangle rectangle, QRCodeDrawingOptions options)
         {
-            QRCodeData data = QRCodeHelper.Encode(value, rectangle.Width, rectangle.Height, BarcodeMargin.Empty);
+            QRCodeData data = QRCodeHelper.Encode(value, rectangle.Width, rectangle.Height);
 
             using (Bitmap dataImage = new Bitmap(data.Size, data.Size, options.DrawGraphics))
             {

+ 21 - 8
DK.Service/InvoiceLayout/Common/LayoutCommon.cs

@@ -312,15 +312,28 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
 			{
 				return 0;
 			}
-		}
+        }
+        /// <summary>
+        /// 毫米转换为像素
+        /// </summary>
+        /// <param name="mm">毫米</param>
+        /// <param name="paperZoom">表示倍率%</param>
+        /// <returns>像素</returns>
+        public static int MillimeterToPixelDpi(float mm, float dpi)
+        {
+            decimal pixel = System.Convert.ToDecimal(mm) /
+            System.Convert.ToDecimal(LayoutConsts.MILLIMETER_PER_INCH) *
+            System.Convert.ToDecimal(dpi);
+            return System.Convert.ToInt32(Math.Round(pixel, 0));
+        }
 
-		/// <summary>
-		/// 毫米转换为像素
-		/// </summary>
-		/// <param name="mm">毫米</param>
-		/// <param name="paperZoom">表示倍率%</param>
-		/// <returns>像素</returns>
-		public static int MillimeterToPixel(float mm, double paperZoom)
+        /// <summary>
+        /// 毫米转换为像素
+        /// </summary>
+        /// <param name="mm">毫米</param>
+        /// <param name="paperZoom">表示倍率%</param>
+        /// <returns>像素</returns>
+        public static int MillimeterToPixel(float mm, double paperZoom)
 		{
 			if (0 < paperZoom)
 			{

+ 32 - 159
DK.Service/InvoiceLayout/Items/TextItem.cs

@@ -1036,170 +1036,43 @@ namespace Dongke.WinForm.Controls.InvoiceLayout
                 if (this._itemStyle == ItemStyle.Barcode)
                 {
                     OneDDrawingOptions ops = new OneDDrawingOptions();
-                    ops.DrawGraphics = graphics;
-                    graphics.PageUnit = GraphicsUnit.Pixel;
-                    Rectangle imageRect = new Rectangle(
-                        LayoutCommon.MillimeterToPixel(rectangleM.Left, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Top, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiX));
-                    BarcodeDraw.DrawOneDImageOnGraphics(value.ToString(), imageRect, ops);
-                    graphics.PageUnit = GraphicsUnit.Millimeter;
-                    //Image pic = null;
-                    //if (!isPrint && this.SimpleShape.Width == this._picCodeWidth &&
-                    //    this.SimpleShape.Height == this._picCodeHeight &&
-                    //    value.ToString() == _picCodeValue)
-                    //{
-                    //    pic = this._picCode;
-                    //}
-                    //int Width = LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX);
-                    //int Height = LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiY);
-                    //int Width = LayoutCommon.MillimeterToPixel(rectangleM.Width, 96);
-                    //int Height = LayoutCommon.MillimeterToPixel(rectangleM.Height, 96);
-                    //if (pic == null)
-                    //{
-                    //    //OneDData qrd = OneDHelper.Encode(value.ToString(), Width, Height, BarcodeMargin.Empty);
-                    //    //OneDDrawingOptions ops = new OneDDrawingOptions();
-                    //    //ops.DrawGraphics = graphics;
-                    //    //ops.i
-                    //    //pic = OneDHelper.DrawOneDImage(qrd, ops);
-
-                    //    //BarcodeWriter writer = new BarcodeWriter();
-                    //    //EncodingOptions options = new EncodingOptions()
-                    //    //{
-                    //    //    PureBarcode = true,
-                    //    //    Margin = 0,
-                    //    //};
-                    //    //writer.Options = options;
-                    //    //writer.Format = BarcodeFormat.CODE_128;
-                    //    ////writer.Options.ErrorCorrection = ErrorCorrectionLevel.H;
-                    //    ////writer.Options.Width = this.SimpleShape.Width;
-                    //    ////writer.Options.Height = this.SimpleShape.Height;
-                    //    //writer.Options.Width = Width;
-                    //    //writer.Options.Height = Height;
-                    //    //pic = writer.Write(value.ToString());
-                    //    ////if (!isPrint)
-                    //    ////{
-                    //    ////    this._picCode = pic;
-                    //    ////    _picCodeValue = value.ToString();
-                    //    ////    _picCodeWidth = this.SimpleShape.Width;
-                    //    ////    _picCodeHeight = this.SimpleShape.Height;
-                    //    ////}
-                    //}
-
-                    //try
-                    //{
-                    //    if (pic != null)
-                    //    {
-                    //        //LayoutUtility.DrawImage(graphics, GraphicsUnit.Millimeter, rectangleM, pic);
-                    //        graphics.DrawImage(pic, rectangleM);
-                    //    }
-                    //}
-                    //catch
-                    //{
-                    //}
-                    //finally
-                    //{
-                    //    if (pic != null && isPrint)
-                    //    {
-                    //        pic.Dispose();
-                    //    }
-                    //}
+                    //ops.DrawGraphics = graphics;
+                    ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom: BarcodeShowType.Show);
+                    //ops.ImageRect = new Rectangle(
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Left, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Top, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiX));
+                    //BarcodeDraw.DrawQRCodeImageOnGraphics(value.ToString(), imageRect, ops);
+                    ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                    ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiY);
+                    ops.DpiX = graphics.DpiX;
+                    ops.DpiY = graphics.DpiY;
+                    using (Image pic1 = OneDHelper.GetOneDImage(value.ToString(), ops))
+                    {
+                        graphics.DrawImage(pic1, rectangleM, ops.ImageRect, GraphicsUnit.Pixel);
+                    }
                     return;
                 }
                 if (this._itemStyle == ItemStyle.QRCode)
                 {
                     QRCodeDrawingOptions ops = new QRCodeDrawingOptions();
-                    ops.DrawGraphics = graphics;
-                    graphics.PageUnit = GraphicsUnit.Pixel;
-                    Rectangle imageRect = new Rectangle(
-                        LayoutCommon.MillimeterToPixel(rectangleM.Left, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Top, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX),
-                        LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiX));
-                    BarcodeDraw.DrawQRCodeImageOnGraphics(value.ToString(), imageRect, ops);
-                    graphics.PageUnit = GraphicsUnit.Millimeter;
-                    //Image pic = null;
-                    ////if (!isPrint && this.SimpleShape.Width == this._picCodeWidth &&
-                    ////    this.SimpleShape.Height == this._picCodeHeight &&
-                    ////    value.ToString() == _picCodeValue)
-                    ////{
-                    ////    pic = this._picCode;
-                    ////}
-
-                    //int Width = LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX);
-                    //int Height = LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiY);
-                    ////int Width = LayoutCommon.MillimeterToPixel(rectangleM.Width, 96);
-                    ////int Height = LayoutCommon.MillimeterToPixel(rectangleM.Height, 96);
-                    //if (pic == null)
-                    //{
-                    //    QRCodeData qrd = QRCodeHelper.Encode(value.ToString(), Width, Height, BarcodeMargin.Empty);
-                    //    QRCodeDrawingOptions ops = new QRCodeDrawingOptions();
-                    //    ops.DrawGraphics = graphics;
-                    //    pic = QRCodeHelper.DrawQRDataImage(qrd, ops);
-                    //    if (this.Wrap)
-                    //    {
-                    //        // 缩放图片
-                    //        //QRCodeEncodingOptions options = new QRCodeEncodingOptions();
-                    //        //options.ECLevel = QRECLevel.H;
-                    //        //QRCodeData qrd = QRCodeHelper.Encode(value.ToString(),
-                    //        //    Width,
-                    //        //    Height,
-                    //        //    BarcodeMargin.Empty, options);
-                    //        //QRCodeDrawingOptions options1 = new QRCodeDrawingOptions();
-                    //        //options1.DrawGraphics = graphics;
-                    //        //options1.DpiX = graphics.DpiX;
-                    //        //options1.DpiY = graphics.DpiY;
-                    //        ////qrd.QRWidth = this.SimpleShape.Width;
-                    //        ////qrd.QRHeight = this.SimpleShape.Height;
-                    //        //pic = QRCodeHelper.DrawQRDataImage(qrd, options1);
-                    //    }
-                    //    else
-                    //    {
-                    //        //BarcodeWriter writer = new BarcodeWriter();
-                    //        //QrCodeEncodingOptions options = new QrCodeEncodingOptions();
-                    //        //options.DisableECI = true;
-                    //        ////设置内容编码
-                    //        ////options.CharacterSet = "UTF-8";
-                    //        ////options.QrVersion = 3;
-                    //        //options.ErrorCorrection = ErrorCorrectionLevel.H;
-                    //        ////设置二维码的宽度和高度
-                    //        //options.Width = Width;
-                    //        //options.Height = Height;
-                    //        ////设置二维码的边距,单位不是固定像素
-                    //        //options.Margin = 0;
-                    //        //writer.Encoder = new QRCodeWriterMy();
-                    //        //writer.Options = options;
-                    //        //writer.Format = BarcodeFormat.QR_CODE;
-
-                    //        //pic = writer.Write(value.ToString());
-                    //    }
-                    //    //if (!isPrint)
-                    //    //{
-                    //    //    this._picCode = pic;
-                    //    //    _picCodeValue = value.ToString();
-                    //    //    _picCodeWidth = this.SimpleShape.Width;
-                    //    //    _picCodeHeight = this.SimpleShape.Height;
-                    //    //}
-                    //}
-                    //try
-                    //{
-                    //    if (pic != null)
-                    //    {
-                    //        //LayoutUtility.DrawImage(graphics, GraphicsUnit.Millimeter, rectangleM, pic);
-                    //        graphics.DrawImage(pic, rectangleM);
-                    //    }
-                    //}
-                    //catch
-                    //{
-                    //}
-                    //finally
-                    //{
-                    //    if (pic != null && isPrint)
-                    //    {
-                    //        pic.Dispose();
-                    //    }
-                    //}
+                    //ops.DrawGraphics = graphics;
+                    ops.ShowType = (this.Wrap ? BarcodeShowType.Zoom : BarcodeShowType.Show);
+                    //ops.ImageRect = new Rectangle(
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Left, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Top, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Width, graphics.DpiX),
+                    //    LayoutCommon.MillimeterToPixel(rectangleM.Height, graphics.DpiX));
+                    //BarcodeDraw.DrawQRCodeImageOnGraphics(value.ToString(), imageRect, ops);
+                    ops.ImageWidth = LayoutCommon.MillimeterToPixelDpi(rectangleM.Width, graphics.DpiX);
+                    ops.ImageHeight = LayoutCommon.MillimeterToPixelDpi(rectangleM.Height, graphics.DpiY);
+                    ops.DpiX = graphics.DpiX;
+                    ops.DpiY = graphics.DpiY;
+                    using (Image pic1 = QRCodeHelper.GetQRCodeImage(value.ToString(), ops))
+                    {
+                        graphics.DrawImage(pic1, rectangleM, ops.ImageRect, GraphicsUnit.Pixel);
+                    }
                     return;
                 }
             }

BIN
DLL/Curtain.DataAccess.dll


+ 42 - 0
DLL/Curtain.DataAccess.xml

@@ -447,6 +447,14 @@
             <param name="parameters"></param>
             <returns></returns>
         </member>
+        <member name="M:Curtain.DataAccess.DataAccessBase.InsertForeach(System.Data.DataView,Curtain.DataAccess.CDASqlStrParameter[])">
+            <summary>
+            根据数据源和参数批量插入数据
+            </summary>
+            <param name="data"></param>
+            <param name="parameters"></param>
+            <returns></returns>
+        </member>
         <member name="M:Curtain.DataAccess.DataAccessBase.GetUpdateSqlStr(System.String,System.Char,Curtain.DataAccess.CDASqlStrParameter[])">
              <summary>
              自动生成update语句
@@ -473,6 +481,14 @@
             <param name="parameters"></param>
             <returns></returns>
         </member>
+        <member name="M:Curtain.DataAccess.DataAccessBase.UpdateForeach(System.Data.DataView,Curtain.DataAccess.CDASqlStrParameter[])">
+            <summary>
+            根据数据源和参数批量更新数据
+            </summary>
+            <param name="data"></param>
+            <param name="parameters"></param>
+            <returns></returns>
+        </member>
         <member name="T:Curtain.DataAccess.DataAccessFactory">
             <summary>
             数据库工厂
@@ -627,6 +643,11 @@
             CDA支持的参数名格式
             </summary>
         </member>
+        <member name="P:Curtain.DataAccess.CDAParameter.SourceName">
+            <summary>
+            参数源名称(无前后缀)
+            </summary>
+        </member>
         <member name="P:Curtain.DataAccess.CDAParameter.ParameterType">
             <summary>
             使用的参数名格式
@@ -863,6 +884,11 @@
             时间戳
             </summary>
         </member>
+        <member name="F:Curtain.DataAccess.DataType.TimeSpan">
+            <summary>
+            时间间隔
+            </summary>
+        </member>
         <member name="F:Curtain.DataAccess.DataType.Interval">
             <summary>
             时间间隔(PostgreSQL)
@@ -6501,6 +6527,14 @@
             <param name="parameters"></param>
             <returns></returns>
         </member>
+        <member name="M:Curtain.DataAccess.IDataAccess.InsertForeach(System.Data.DataView,Curtain.DataAccess.CDASqlStrParameter[])">
+            <summary>
+            根据数据源和参数批量插入数据
+            </summary>
+            <param name="data"></param>
+            <param name="parameters"></param>
+            <returns></returns>
+        </member>
         <member name="M:Curtain.DataAccess.IDataAccess.GetUpdateSqlStr(System.String,Curtain.DataAccess.CDASqlStrParameter[])">
             <summary>
             自动生成update语句
@@ -6517,6 +6551,14 @@
             <param name="parameters"></param>
             <returns></returns>
         </member>
+        <member name="M:Curtain.DataAccess.IDataAccess.UpdateForeach(System.Data.DataView,Curtain.DataAccess.CDASqlStrParameter[])">
+            <summary>
+            根据数据源和参数批量更新数据
+            </summary>
+            <param name="data"></param>
+            <param name="parameters"></param>
+            <returns></returns>
+        </member>
         <member name="T:Curtain.DataAccess.PostgreSQL">
             <summary>
             PostgreSQL 数据库操作类

BIN
DLL/Curtain.Framework.dll


+ 251 - 149
DLL/Curtain.Framework.xml

@@ -315,127 +315,167 @@
             </summary>
             <param name="iar"></param>
         </member>
+        <member name="T:Curtain.Framework.Barcode.BarcodeShowType">
+            <summary>
+            条码图片显示方式
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Barcode.BarcodeShowType.Original">
+            <summary>
+            原图
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Barcode.BarcodeShowType.Show">
+            <summary>
+            居中显示
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Barcode.BarcodeShowType.Zoom">
+            <summary>
+            缩放
+            </summary>
+        </member>
         <member name="T:Curtain.Framework.Barcode.BarcodeMargin">
             <summary>
             条码打印余白
             </summary>
         </member>
-        <member name="T:Curtain.Framework.Barcode.OneD.OneDData">
+        <member name="F:Curtain.Framework.Barcode.BarcodeMargin.Empty">
             <summary>
-            一维码格式数据
+            
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Lenght">
+        <member name="P:Curtain.Framework.Barcode.BarcodeMargin.Horizontal">
             <summary>
-            获取长度(像素)
+            横向
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Item(System.Int32)">
+        <member name="P:Curtain.Framework.Barcode.BarcodeMargin.Vertical">
             <summary>
-            获取坐标元素
+            纵向
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Array">
+        <member name="T:Curtain.Framework.Barcode.DrawingOptions">
             <summary>
-            数
+            绘制参
             </summary>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDData.#ctor(System.Int32)">
+        <member name="M:Curtain.Framework.Barcode.DrawingOptions.#ctor">
             <summary>
-            一维码数据
+            绘制参数
             </summary>
-            <param name="lenght">长</param>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDData.#ctor(System.Boolean[])">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ImageRect">
             <summary>
-            一维码数据
+            图片范围
             </summary>
-            <param name="data">数据</param>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDData.SetAllValue(System.Boolean)">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ImageLeft">
             <summary>
-            设置全部值
+            图片左
             </summary>
-            <param name="value">The value.</param>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.AutoSize">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ImageTop">
             <summary>
-            自动缩放
+            图片上
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.CodeWidth">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ImageWidth">
             <summary>
-            一维码图片宽
+            图片宽
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.CodeHeight">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ImageHeight">
             <summary>
-            一维码图片高
+            图片高
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.CodeMargin">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.Margin">
             <summary>
             一维码图片余白
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Text">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.BackColor">
             <summary>
-            条码内容
+            背景色
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Format">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ForeColor">
             <summary>
-            一维码格式
+            前景色
             </summary>
         </member>
-        <member name="T:Curtain.Framework.Barcode.OneD.OneDDrawingOptions">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.DrawGraphics">
             <summary>
-            一维码绘制参数
+            画布
             </summary>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.#ctor">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.DpiX">
             <summary>
-            一维码绘制参数
+            水平分辨率
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.BackColor">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.DpiY">
             <summary>
-            背景色
+            垂直分辨率
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.ForeColor">
+        <member name="P:Curtain.Framework.Barcode.DrawingOptions.ShowType">
             <summary>
-            前景色
+            条码图片显示方式
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.ShowText">
+        <member name="T:Curtain.Framework.Barcode.OneD.OneDData">
             <summary>
-            显示条码
+            一维码格式数据
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.TextMargin">
+        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Item(System.Int32)">
             <summary>
-            条码与文字间余白
+            获取坐标元素
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.TextFont">
+        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Data">
             <summary>
-            字体
+            数组
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.DrawGraphics">
+        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Size">
             <summary>
-            绘制条码的画布
+            条码数据长度
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.DpiX">
+        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Text">
             <summary>
-            分辨率X
+            条码内容
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.DpiY">
+        <member name="P:Curtain.Framework.Barcode.OneD.OneDData.Format">
             <summary>
-            分辨率Y
+            一维码格式
+            </summary>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDData.#ctor(System.Boolean[],System.String)">
+            <summary>
+            一维码数据
+            </summary>
+            <param name="data">数据</param>
+            <param name="text">文本</param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDData.SetAllValue(System.Boolean)">
+            <summary>
+            设置全部值
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="T:Curtain.Framework.Barcode.OneD.OneDDrawingOptions">
+            <summary>
+            一维码绘制参数
+            </summary>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDDrawingOptions.#ctor">
+            <summary>
+            一维码绘制参数
             </summary>
         </member>
         <member name="T:Curtain.Framework.Barcode.OneD.OneDFormat">
@@ -461,41 +501,71 @@
             <param name="format"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.Encode(System.String,System.Int32,System.Int32,Curtain.Framework.Barcode.BarcodeMargin,Curtain.Framework.Barcode.OneD.OneDFormat)">
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.Encode(System.String,System.Int32,Curtain.Framework.Barcode.OneD.OneDFormat)">
             <summary>
             按比例放大的原始一维码
             </summary>
             <param name="contents"></param>
             <param name="format"></param>
             <param name="width"></param>
-            <param name="height"></param>
-            <param name="margin"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.Encode(Curtain.Framework.Barcode.OneD.OneDData,System.Int32,System.Int32,Curtain.Framework.Barcode.BarcodeMargin)">
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.Encode(Curtain.Framework.Barcode.OneD.OneDData,System.Int32)">
             <summary>
             按比例放大的原始一维码
             </summary>
             <param name="data"></param>
             <param name="width"></param>
-            <param name="height"></param>
-            <param name="margin"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.DrawOneDImage(Curtain.Framework.Barcode.OneD.OneDData,Curtain.Framework.Barcode.OneD.OneDDrawingOptions)">
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.DrawOneD(System.String,Curtain.Framework.Barcode.OneD.OneDDrawingOptions,Curtain.Framework.Barcode.OneD.OneDFormat)">
+            <summary>
+            直接绘制条码
+            </summary>
+            <param name="contents"></param>
+            <param name="options"></param>
+            <param name="format"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.DrawOneD(Curtain.Framework.Barcode.OneD.OneDData,Curtain.Framework.Barcode.OneD.OneDDrawingOptions)">
+            <summary>
+            直接绘制条码
+            </summary>
+            <param name="data"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.DrawOneD(Curtain.Framework.Barcode.OneD.OneDData,System.Drawing.Graphics,Curtain.Framework.Barcode.OneD.OneDDrawingOptions)">
             <summary>
-            绘制图片
+            直接绘制条码
             </summary>
             <param name="data"></param>
+            <param name="graphics"></param>
             <param name="options"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.GetOneDImage(System.String,Curtain.Framework.Barcode.OneD.OneDDrawingOptions,Curtain.Framework.Barcode.OneD.OneDFormat)">
+            <summary>
+            条码图片
+            </summary>
+            <param name="contents"></param>
+            <param name="options"></param>
+            <param name="format"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.DrawOneDImageOnGraphics(Curtain.Framework.Barcode.OneD.OneDData,Curtain.Framework.Barcode.OneD.OneDDrawingOptions)">
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.GetOneDImage(Curtain.Framework.Barcode.OneD.OneDData,Curtain.Framework.Barcode.OneD.OneDDrawingOptions,Curtain.Framework.Barcode.OneD.OneDFormat)">
             <summary>
-            绘制图片
+            条码图片
             </summary>
             <param name="data"></param>
             <param name="options"></param>
+            <param name="format"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.OneD.OneDHelper.GetOneDSource(Curtain.Framework.Barcode.OneD.OneDData,System.Int32,Curtain.Framework.Barcode.OneD.OneDDrawingOptions)">
+            <summary>
+            原始条码图片
+            </summary>
+            <param name="data"></param>
+            <param name="height"></param>
+            <param name="options"></param>
             <returns></returns>
         </member>
         <member name="T:Curtain.Framework.Barcode.QRCode.QRCodeData">
@@ -513,7 +583,7 @@
             获取坐标元素
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.Array">
+        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.Data">
             <summary>
             矩阵数组
             </summary>
@@ -532,7 +602,7 @@
             二维码MaskPattern
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.Mode">
+        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.ModeName">
             <summary>
             二维码Mode
             </summary>
@@ -542,22 +612,7 @@
             二维码版本
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.AutoSize">
-            <summary>
-            自动缩放
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.QRWidth">
-            <summary>
-            二维码图片宽
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.QRHeight">
-            <summary>
-            二维码图片高
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.QRMargin">
+        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeData.Margin">
             <summary>
             二维码图片余白
             </summary>
@@ -582,31 +637,6 @@
             二维码绘制参数
             </summary>
         </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions.BackColor">
-            <summary>
-            背景色
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions.ForeColor">
-            <summary>
-            前景色
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions.Logo">
-            <summary>
-            Logo
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions.LogoSize">
-            <summary>
-            Logo尺寸
-            </summary>
-        </member>
-        <member name="P:Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions.LogoBackColor">
-            <summary>
-            Logo背景色
-            </summary>
-        </member>
         <member name="T:Curtain.Framework.Barcode.QRCode.QRCodeEncodingOptions">
             <summary>
             二维码编码参数
@@ -662,35 +692,81 @@
             原始二维码
             </summary>
             <param name="contents"></param>
-            <param name="options"></param>
+            <param name="encodingOptions"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.Encode(System.String,System.Int32,System.Int32,Curtain.Framework.Barcode.BarcodeMargin,Curtain.Framework.Barcode.QRCode.QRCodeEncodingOptions)">
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.Encode(System.String,System.Int32,System.Int32,Curtain.Framework.Barcode.QRCode.QRCodeEncodingOptions)">
             <summary>
             按比例放大的原始二维码
             </summary>
             <param name="contents"></param>
             <param name="width"></param>
             <param name="height"></param>
-            <param name="margin"></param>
-            <param name="oprions"></param>
+            <param name="encodingOptions"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.Encode(Curtain.Framework.Barcode.QRCode.QRCodeData,System.Int32,System.Int32,Curtain.Framework.Barcode.BarcodeMargin)">
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.Encode(Curtain.Framework.Barcode.QRCode.QRCodeData,System.Int32,System.Int32)">
             <summary>
             按比例放大的原始二维码
             </summary>
             <param name="data"></param>
             <param name="width"></param>
             <param name="height"></param>
-            <param name="margin"></param>
             <returns></returns>
         </member>
-        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.DrawQRDataImage(Curtain.Framework.Barcode.QRCode.QRCodeData,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions)">
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.DrawQRCode(System.String,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions,Curtain.Framework.Barcode.QRCode.QRCodeEncodingOptions)">
+            <summary>
+            直接绘制条码
+            </summary>
+            <param name="contents"></param>
+            <param name="options"></param>
+            <param name="encodingOptions"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.DrawQRCode(Curtain.Framework.Barcode.QRCode.QRCodeData,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions)">
+            <summary>
+            直接绘制条码
+            </summary>
+            <param name="data"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.DrawQRCode(Curtain.Framework.Barcode.QRCode.QRCodeData,System.Drawing.Graphics,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions)">
+            <summary>
+            直接绘制条码
+            </summary>
+            <param name="data"></param>
+            <param name="graphics"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.GetQRCodeImage(System.String,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions,Curtain.Framework.Barcode.QRCode.QRCodeEncodingOptions)">
+            <summary>
+            条码图片
+            </summary>
+            <param name="contents"></param>
+            <param name="options"></param>
+            <param name="encodingOptions"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.GetQRCodeImage(Curtain.Framework.Barcode.QRCode.QRCodeData,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions)">
+            <summary>
+            原始条码图片
+            </summary>
+            <param name="data"></param>
+            <param name="options"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.GetQRCodeSource(Curtain.Framework.Barcode.QRCode.QRCodeData,Curtain.Framework.Barcode.QRCode.QRCodeDrawingOptions)">
             <summary>
-            绘制图片
+            原始条码图片
             </summary>
             <param name="data"></param>
+            <param name="options"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Framework.Barcode.QRCode.QRCodeHelper.VersionToPixel(System.Int32)">
+            <summary>
+            二维码版本对应像素
+            </summary>
+            <param name="version"></param>
             <returns></returns>
         </member>
         <member name="T:Curtain.Framework.Barcode.QRCode.QRECLevel">
@@ -1267,6 +1343,26 @@
             缩放(按比例)类型
             </summary>
         </member>
+        <member name="F:Curtain.Framework.GDI.ImageHelper.ZoomType.Adaptive">
+            <summary>
+            自适应
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.GDI.ImageHelper.ZoomType.Filled">
+            <summary>
+            比例填充(超出部分居中)
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.GDI.ImageHelper.ZoomType.WidthRatio">
+            <summary>
+            按宽显示(超出部分居中)
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.GDI.ImageHelper.ZoomType.HeightRatio">
+            <summary>
+            按高显示(超出部分居中)
+            </summary>
+        </member>
         <member name="M:Curtain.Framework.GDI.ImageHelper.Zoom(System.Drawing.Image,System.Drawing.Size,Curtain.Framework.GDI.ImageHelper.ZoomType)">
             <summary>
             缩放(按比例)
@@ -1360,6 +1456,12 @@
             <param name="ratioHeight"></param>
             <returns></returns>
         </member>
+        <member name="M:Curtain.Framework.GDI.ImageHelper.SetGraphicsHighQuality(System.Drawing.Graphics)">
+            <summary>
+            
+            </summary>
+            <param name="graphics"></param>
+        </member>
         <member name="T:Curtain.Framework.Helpers.ObjectExtension">
             <summary>
             扩展工具类
@@ -1916,46 +2018,6 @@
             <param name="args">参数</param>
             <returns>实例</returns>
         </member>
-        <member name="T:Curtain.Framework.Log.LoggerLevels">
-            <summary>
-            日志输出级别
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.None">
-            <summary>
-            无
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.Error">
-            <summary>
-            错误
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.Warn">
-            <summary>
-            警告
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.Debug">
-            <summary>
-            调试
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.Trace">
-            <summary>
-            跟踪
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.Info">
-            <summary>
-            消息
-            </summary>
-        </member>
-        <member name="F:Curtain.Framework.Log.LoggerLevels.ALL">
-            <summary>
-            全部
-            </summary>
-        </member>
         <member name="T:Curtain.Framework.Log.Logger">
             <summary>
             日志记录器
@@ -2181,6 +2243,46 @@
             </summary>
             <param name="state"></param>
         </member>
+        <member name="T:Curtain.Framework.Log.LoggerLevels">
+            <summary>
+            日志输出级别
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.None">
+            <summary>
+            无
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.Error">
+            <summary>
+            错误
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.Warn">
+            <summary>
+            警告
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.Debug">
+            <summary>
+            调试
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.Trace">
+            <summary>
+            跟踪
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.Info">
+            <summary>
+            消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Framework.Log.LoggerLevels.ALL">
+            <summary>
+            全部
+            </summary>
+        </member>
         <member name="T:Curtain.Framework.Log.LogInfo">
             <summary>
             日志输出控制属性

BIN
DLL/Curtain.Net.Sockets.dll


+ 0 - 1
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -34,7 +34,6 @@ using Dongke.IBOSS.PRD.WCF.DataModels.ConfigModule;
 using Dongke.IBOSS.PRD.WCF.DataModels.HRModule;
 using Dongke.IBOSS.PRD.WCF.DataModels.PCModule;
 using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
-using Dongke.WinForm.Controls.InvoiceLayout;
 
 namespace Dongke.IBOSS.PRD.WCF.Services
 {