Имя: Пароль:
1C
1С v8
размер картинки из 1С
0 ПульсЪ
 
31.07.11
19:09
Как можно еще выцепить размер картинки из 1С (ширина, длина), нужен способ, который будет работать быстрее чем этот:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
       Имя="IMG_0069.JPG";
         Каталог="D:\Новая папка\";

         ИЭ=Новый COMОбъект("InternetExplorer.Application");
         ИЭ.Fullscreen=-1;
         ИЭ.Navigate(Каталог+Имя);
         IMG=ИЕ.document.getElementsByTagName("IMG").item(0);
         Сообщить(IMG.Height);
         Сообщить(IMG.Width);
       
КонецПроцедуры
1 ПульсЪ
 
31.07.11
19:10
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
       Имя="IMG_0069.JPG";
          Каталог="D:\Новая папка\";

         ИЭ=Новый COMОбъект("InternetExplorer.Application");
          ИЭ.Fullscreen=-1;
          ИЭ.Navigate(Каталог+Имя);
          IMG=ИЭ.document.getElementsByTagName("IMG").item(0);
          Сообщить(IMG.Height);
          Сообщить(IMG.Width);
       
КонецПроцедуры
2 ПульсЪ
 
31.07.11
19:11
он и работает медленно + еще не те размеры показывает, данныя картинка 3072х2304, если смотреть через свойства, а если через процедурку то 734х979
3 ПульсЪ
 
31.07.11
19:13
еще пробывал так:

Процедура Сформировать()
    Имя="IMG_0069.JPG";
          Каталог="D:\Новая папка\";
   
       fso=createobject("scripting.filesystemobject");
       Shell = CreateObject("Shell.Application");
       Folder = Shell.Namespace(Каталог);
       Сообщить(Folder.GetDetailsOf(Folder.Items().item(Имя), 26));
Сообщить(Folder.GetDetailsOf(Folder.Items().item(Имя), 27));
Сообщить(Folder.GetDetailsOf(Folder.Items().item(Имя), 28));
 
КонецПроцедуры


но так вообще пусто
4 ПульсЪ
 
31.07.11
19:31
еще вариант

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
       Имя="IMG_0069.JPG";
         Каталог="D:\Новая папка\";

         ИЕ=Новый COMОбъект("InternetExplorer.Application");
         ИЕ.Fullscreen=-1;
         ИЕ.Navigate(Каталог+Имя);
         IMG=ИЕ.document.getElementsByTagName("IMG").item(0);
         Сообщить(IMG.naturalHeight);
         Сообщить(IMG.naturalWidthh);
       
КонецПроцедуры


так показывает точно, но опять же долго работает, секунды 3 получает размеры
5 ПульсЪ
 
31.07.11
19:32
2 секунды)
6 Axel2009
 
31.07.11
19:40
(5) я использую прогу ImageMagick. ее можно зарегить как ком объект и юзать. работает быстро..
7 ПульсЪ
 
31.07.11
20:19
(6) не оч хочется подключать новые объекты, мб есть пример более менее стандартными средствами..
8 ПульсЪ
 
31.07.11
20:20
мб кто знает как с VBS юзнать доп свойства файла?
9 Axel2009
 
31.07.11
20:30
(8) а с какого это доп свойства файла? допсвойства файла - то что можно применить к любому файлу аля пользователь
10 ПульсЪ
 
01.08.11
11:50
(9) не придирайся) (0) (1) (2) (3) (4) (5) достаточно для понимания сути задачи)
11 smaharbA
 
01.08.11
11:55
12 ПульсЪ
 
01.08.11
12:18
(11) спасяб) отлично) рабит быстрее чем мои)

Перем Имя,Путь;
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Выберите файл";
   Диалог.ПолноеИмяФайла = "";
   Диалог.ПредварительныйПросмотр = Истина;
   //Диалог.Фильтр = "Файлы картинок|*.jpg;*.bmp";
   Если Не Диалог.Выбрать() Тогда
       Возврат;
   КонецЕсли;
   
Шел=Новый COMОбъект("Shell.Application");
   Папка=Шел.NameSpace(Диалог.Каталог);
   Файл=СтрЗаменить(Диалог.ПолноеИмяФайла,"\","" "");
   Файл=Папка.ParseName(СтрПолучитьСтроку(Файл,СтрЧислоСтрок(Файл)));
   Для Сч=-4 По 100 Цикл
       Попытка
           Сообщить(Папка.GetDetailsOf(Файл,Сч));
       Исключение
       КонецПопытки;
   КонецЦикла;
13 ПульсЪ
 
01.08.11
12:26
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Перем Имя,Путь;
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Выберите файл";
   Диалог.ПолноеИмяФайла = "";
   Диалог.ПредварительныйПросмотр = Истина;
   //Диалог.Фильтр = "Файлы картинок|*.jpg;*.bmp";
   Если Не Диалог.Выбрать() Тогда
       Возврат;
   КонецЕсли;
   
   Шел=Новый COMОбъект("Shell.Application");
   Папка=Шел.NameSpace(Диалог.Каталог);
   Файл=СтрЗаменить(Диалог.ПолноеИмяФайла,"\","" "");
   Файл=Папка.ParseName(СтрПолучитьСтроку(Файл,СтрЧислоСтрок(Файл)));
   Для Сч=-4 По 100 Цикл
       Попытка
                       //Сообщить(Папка.GetDetailsOf(Файл,Сч));
                       если сч=31 тогда
                           Сообщить("это размер");
                           Сообщить(Папка.GetDetailsOf(Файл,Сч));

                           Продолжить;
                       КонецЕсли;

       Исключение
       КонецПопытки;
   КонецЦикла;    
               
КонецПроцедуры
14 ПульсЪ
 
01.08.11
12:28
тьфу) доброе утро называется))

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Перем Имя,Путь;
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Выберите файл";
   Диалог.ПолноеИмяФайла = "";
   Диалог.ПредварительныйПросмотр = Истина;
   //Диалог.Фильтр = "Файлы картинок|*.jpg;*.bmp";
   Если Не Диалог.Выбрать() Тогда
       Возврат;
   КонецЕсли;
   
   Шел=Новый COMОбъект("Shell.Application");
   Папка=Шел.NameSpace(Диалог.Каталог);
   Файл=СтрЗаменить(Диалог.ПолноеИмяФайла,"\","" "");
   Файл=Папка.ParseName(СтрПолучитьСтроку(Файл,СтрЧислоСтрок(Файл)));
   Для Сч=-4 По 100 Цикл
       Попытка
                       //Сообщить(Папка.GetDetailsOf(Файл,Сч));
                       если сч=31 тогда
                           Сообщить("это размер");
                           Сообщить(Папка.GetDetailsOf(Файл,Сч));

                           Прервать;
                       КонецЕсли;

       Исключение
       КонецПопытки;
   КонецЦикла;    
               
КонецПроцедуры
15 ПульсЪ
 
01.08.11
12:43
если нужен только размер картинки, мб кому понадобится

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Перем Имя,Путь;
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.Заголовок = "Выберите файл";
   Диалог.ПолноеИмяФайла = "";
   Диалог.ПредварительныйПросмотр = Истина;
   //Диалог.Фильтр = "Файлы картинок|*.jpg;*.bmp";
   Если Не Диалог.Выбрать() Тогда
       Возврат;
   КонецЕсли;
   
   Шел=Новый COMОбъект("Shell.Application");
   Папка=Шел.NameSpace(Диалог.Каталог);
   Файл=СтрЗаменить(Диалог.ПолноеИмяФайла,"\","" "");
   Файл=Папка.ParseName(СтрПолучитьСтроку(Файл,СтрЧислоСтрок(Файл)));
     Попытка
       Сообщить(Папка.GetDetailsOf(Файл,31));
   Исключение
   КонецПопытки;

КонецПроцедуры
AdBlock убивает бесплатный контент. 1Сергей