天天看點

資料庫圖檔正常轉變比例

 byte[] buffer = (byte[])dataRow["Picture"];    //從資料庫讀到的圖檔

            MemoryStream s = new MemoryStream(buffer, 0, buffer.Length);  //轉換為資料流

            Bitmap photo = new Bitmap(s); 

            int _thumbnailSize = 160; //定義顯示圖檔大小

            int width, height;  //定義圖檔寬度和高度

            //如果原圖檔的寬度與高度都小于定義顯示圖檔大小

            if (photo.Width < _thumbnailSize && photo.Height < _thumbnailSize)

            {

                width = photo.Width;  //寬度等于原寬度

                height = photo.Height;//高度等于原高度

            }   

            //如果原圖檔寬度大于原圖檔的高度              

            else if (photo.Width > photo.Height)

                width = _thumbnailSize;  //寬度等于定義圖檔尺寸

                height = photo.Height * _thumbnailSize / photo.Width;  //高度做相應比例縮小

            }

                //如果原圖檔高度大于原圖檔的寬度

            else

                width = photo.Width * _thumbnailSize / photo.Height; //寬度做相應比例縮小

                height = _thumbnailSize; //高度等于定義圖檔大小

            Bitmap target = new Bitmap(width, height);

繼續閱讀