Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как "обрезать" картинку?
|
|||
|---|---|---|---|
|
#18+
Мне для генерации thumbnail необходимо обрезать в пропорции 3х4 и затем создать уменьшенную копию картинки Как это можно выполнить средствами .NET? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2006, 22:22 |
|
||
|
Как "обрезать" картинку?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, <Аноним>, Вы писали: А>Мне для генерации thumbnail необходимо обрезать в пропорции 3х4 и затем создать уменьшенную копию картинки А>Как это можно выполнить средствами .NET? public static Image CropImage(Image sourceImage, int targetWidth, int targetHeight) { int sourceWidth = sourceImage.Width; int sourceHeight = sourceImage.Height; int sourceX = 0, sourceY = 0; int targetX = 0, targetY = 0; float ratio, ratioWidth, ratioHeight; ratioWidth = ((float)targetWidth / (float)sourceWidth); ratioHeight = ((float)targetHeight / (float)sourceHeight); if (ratioHeight < ratioWidth) { ratio = ratioWidth; targetY = (int)((targetHeight - sourceHeight * ratio) / 2); } else { ratio = ratioHeight; targetX = (int)((targetWidth - sourceWidth * ratio) / 2); } int destWidth = (int)(sourceWidth * ratio); int destHeight = (int)(sourceHeight * ratio); Bitmap targetImage = new Bitmap(targetWidth, targetHeight, PixelFormat.Format24bppRgb); targetImage.SetResolution(sourceImage.HorizontalResolution, sourceImage.VerticalResolution); using (Graphics g = Graphics.FromImage(targetImage)) { g.CompositingQuality = CompositingQuality.HighQuality; g.SmoothingMode = SmoothingMode.HighQuality; g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.DrawImage(sourceImage, new Rectangle(targetX, targetY, destWidth, destHeight), new Rectangle(sourceX, sourceY, sourceWidth, sourceHeight), GraphicsUnit.Pixel); } return targetImage }... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2006, 00:02 |
|
||
|
Как "обрезать" картинку?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, kpumuk, Вы писали: K> return targetImage Забыл точку с запятой :-)... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2006, 00:11 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1389746]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 452ms |

| 0 / 0 |
