diff --git a/Project/History.txt b/Project/History.txt index 07c6a78..ffdc1f5 100644 --- a/Project/History.txt +++ b/Project/History.txt @@ -1,5 +1,6 @@ 181210 chi NR구매등록시 이미지 표시 및 추가 기능 NR구매목록에서 권한 없는 사람이 더블클릭으로 편집할 수 있는 버그 수정 + 이미지 크기를 640*480 내에서 자동 조정 됨 181207 chi 업체정보화면 에 담당자 목록 추가 업체대표 및 담당자 테이블 데이터 추가 품목에 이미지 확인 사항 추가 diff --git a/SubProject/FCOMMON/DataBaseManager.cs b/SubProject/FCOMMON/DataBaseManager.cs index 30c8877..9a4dffa 100644 --- a/SubProject/FCOMMON/DataBaseManager.cs +++ b/SubProject/FCOMMON/DataBaseManager.cs @@ -34,6 +34,32 @@ namespace FCOMMON public static byte[] getImagByteArray(System.Drawing.Image img) { if (img == null || img.Width < 1 || img.Height < 1) return null; + + //이미지가 640보다 크면 조정한다. + if (img.Width > 640) + { + var newrate = (640.0 / img.Width * 1.0); + var newheight = (int)(img.Height * newrate); //높이값 다시 계산 + var newimg = new System.Drawing.Bitmap(640, newheight); + var g = System.Drawing.Graphics.FromImage(newimg); + g.DrawImage(img, new System.Drawing.Rectangle(0, 0, 640, newheight)); + g.Dispose(); + img = (System.Drawing.Image)(newimg.Clone()); + + } + else if (img.Height > 480) + { + var newrate = (480.0 / img.Height * 1.0); + var newwidth = (int)(img.Width * newrate); //높이값 다시 계산 + var newimg = new System.Drawing.Bitmap(newwidth, 480); + var g = System.Drawing.Graphics.FromImage(newimg); + g.DrawImage(img, new System.Drawing.Rectangle(0, 0, newwidth, 480)); + g.Dispose(); + img = (System.Drawing.Image)(newimg.Clone()); + } + + + System.IO.MemoryStream sm = new System.IO.MemoryStream(); img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg); var buffer = sm.GetBuffer(); @@ -44,6 +70,29 @@ namespace FCOMMON public static Boolean setImageData(System.Drawing.Image img, string table, string field, int idx) { if (img == null || img.Width < 1||img.Height < 1) return false; + + //이미지가 640보다 크면 조정한다. + if(img.Width > 640) + { + var newrate = (640.0 / img.Width * 1.0); + var newheight = (int)(img.Height * newrate); //높이값 다시 계산 + var newimg = new System.Drawing.Bitmap(640, newheight); + var g = System.Drawing.Graphics.FromImage(newimg); + g.DrawImage(img, new System.Drawing.Rectangle(0, 0, 640, newheight)); + g.Dispose(); + img = (System.Drawing.Image)(newimg.Clone()); + + } else if(img.Height > 480) + { + var newrate = (480.0 / img.Height * 1.0); + var newwidth = (int)(img.Width * newrate); //높이값 다시 계산 + var newimg = new System.Drawing.Bitmap(newwidth, 480); + var g = System.Drawing.Graphics.FromImage(newimg); + g.DrawImage(img, new System.Drawing.Rectangle(0, 0, newwidth,480)); + g.Dispose(); + img = (System.Drawing.Image)(newimg.Clone()); + } + var cn = getCn(); cn.Open();