Имя: Пароль:
1C
1С v8
Как поменять разрешение у фотографии?
0 BaHgaJI
 
29.11.13
12:11
Есть фото 96 дпи, надо 300дпи.
На C# делается примерно так

private IFieldsCollection RescaleAndRecognize( System.Drawing.Image srcImage, double scale, string documentType )
{
int newWidth = ( int )Math.Round( srcImage.Width * scale );
int newHeight = ( int )Math.Round( srcImage.Height * scale );
using( var newImage = new Bitmap( newWidth, newHeight ) ) {
using( var g = Graphics.FromImage( newImage ) ) {
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage( srcImage, new Rectangle( 0, 0, newWidth, newHeight ) );
}
newImage.SetResolution( 300, 300 );
1 H A D G E H O G s
 
29.11.13
12:19
У тебя scale =300/96, так?
2 BaHgaJI
 
29.11.13
12:31
private double ScaleTo300dpi( Size sizeInPixels, SizeF sizeInMillimeters )
{
double scaleByWidth = ScaleTo300dpi( sizeInPixels.Width, sizeInMillimeters.Width );
double scaleByHeight = ScaleTo300dpi( sizeInPixels.Height, sizeInMillimeters.Height );
return ( scaleByWidth + scaleByHeight ) / 2;
}
private double ScaleTo300dpi( int sizeInPixels, double sizeInMillimeters )
{
double sizeInPixels300dpi = sizeInMillimeters / 25.4 * 300;
return sizeInPixels300dpi / sizeInPixels;
}
3 BaHgaJI
 
29.11.13
12:38
На самом деле этот код не важен)))
достаточно вот этого newImage.SetResolution( 300, 300 );
это метод  .NET Framework 4.5 можно его как то в 1с вызвать?
4 H A D G E H O G s
 
29.11.13
12:41
(3) На самом деле этот код не важен)))

Потомучто SetResolution() ничего с фото не делает, а просто говорит, какой коэффициент масштабирования по умолчанию.
5 BaHgaJI
 
29.11.13
12:42
(4) нет, SetResolution() устанавливает разрешение
6 BaHgaJI
 
29.11.13
12:45
Возможно в 1с изменить разрешение картинки?
7 H A D G E H O G s
 
29.11.13
12:47
(6) Нет. Пиши ВК.
8 dk
 
29.11.13
12:49
командная строка irfanview в помощь
9 Jaap Vduul
 
29.11.13
12:51
У меня как-то была аналогичная задачка - решил через скрипт повершелловский.
Или вон, в соседнюю ветку загляни:
v8: Использование сборок .NET в 1С 7.x b 8.x
10 BaHgaJI
 
29.11.13
13:47
(9) спасибо, попробую.
11 bborisko
 
29.11.13
13:53
(9)А скрипт что вызывал? Может приведешь пример?
Основная теорема систематики: Новые системы плодят новые проблемы.