|
Как повернуть картинку на 90 градусов на сервере? | ☑ | ||
---|---|---|---|---|
0
Пират
26.04.13
✎
12:18
|
Предыстория...
1. Управляемое приложение. 2. Компонента AddIn.КартинкаШтрихкода.Barcode не хочет поворачивать штрих-код на 90 градусов. Не получается этого добиться - выдает какую-то ерунду. Результатом работы компоненты являются двоичные данные (картинка штрих-кода). Возникла мысль сохранить её во временный каталог и обработать вот этим скриптом на сервере: Функция ПовернутьИзображение(фКартинки,УголПоворота) //Ресайз файла картинки Скрипт = " |Function RotateImage(ImageFile,Angle,ResultFile) |Dim Img 'As ImageFile |Dim IP 'As ImageProcess |Dim objFSO |On Error Resume Next | |Set Img = CreateObject(""WIA.ImageFile"") |Set IP = CreateObject(""WIA.ImageProcess"") |Set objFSO = CreateObject(""Scripting.FileSystemObject"") | |Img.LoadFile ImageFile | |IP.Filters.Add IP.FilterInfos(""RotateFlip"").FilterID |IP.Filters(1).Properties(""RotationAngle"") = Angle | |Set Img = IP.Apply(Img) | |If objFSO.FileExists(ResultFile) Then | objFSO.DeleteFile ResultFile |End If |If Err.Number = 0 Then | Img.SaveFile ResultFile | RotateImage = 1 |Else | RotateImage = 0 |End if |End function |"; ИспСкрипт= Новый ComОбъект("MSScriptControl.ScriptControl"); ИспСкрипт.Language="vbscript"; ИспСкрипт.AddCode(Скрипт); ВремФайл = КаталогВременныхФайлов() + "TempWIA1Cimagefile.bmp"; Рез = ИспСкрипт.Run("RotateImage",фКартинки,УголПоворота,ВремФайл); Если Рез Тогда К = Новый Картинка(ВремФайл); Иначе Предупреждение("Не удалось загрузить картинку!"); К = Новый Картинка(ВремФайл); КонецЕсли; Возврат К; КонецФункции В режиме обычного приложения это работает. Но на сервере не хочет работать. Выдает сообщение ошибки на то, что не найден файл. Видать проблемы с доступом. Как еще можно решить проблему? |
|||
1
XLife
26.04.13
✎
12:19
|
1. положить картинку на сервер
2. повернуть на 90 градусов 3. профит! |
|||
2
Пират
26.04.13
✎
12:20
|
(2) не работает почему-то на сервере.
|
|||
3
MSII
26.04.13
✎
12:21
|
Прочитал как "повернуть на 90 градусов на север", задумался.
|
|||
4
Пират
26.04.13
✎
12:24
|
Видимо у скрипта нет прав на папку, куда записать можно файл.
Какую папку на серваке можно указать, которая есть и в которую у скрипта и у сервера приложений будет доступ? |
|||
5
Пират
26.04.13
✎
12:25
|
Вернее у скрипта нет доступа к папкам временных файлов 1С
|
|||
6
MSII
26.04.13
✎
12:25
|
(4) Сервер приложений запущен под каким-то пользователем. Посмотреть, под каким, дать этому пользователю права на нужную папку.
|
|||
7
Пират
26.04.13
✎
12:26
|
(6) без этого никак?
|
|||
8
Пират
26.04.13
✎
12:27
|
Можно, конечно, на клиенте картинку переворачивать, а потом передавать на сервер.
Но это полный изврат. |
|||
9
Пират
26.04.13
✎
12:28
|
Может есть еще какие способы перевернуть картинку на сервере или добиться, чтобы штрих код нормально переворачивался на 90 градусов?
|
|||
10
MSII
26.04.13
✎
12:30
|
(7) Можно еще запуск от имени использовать. Это если проблема действительно в правах, а не в кривом скрипте.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |