![]() |
|
размер картинки из 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)); Исключение КонецПопытки; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |