Имя: Пароль:
1C
1С v8
Отображение Tif в поле HTML
0 Chameleon1980
 
16.03.21
19:46
Привет всем.
За все время в 1с не пользовался полем HTML
есть вот такой кусок:


<!DOCTYPE html>
<html>
<body>
  
<script>
    document.addEventListener('DOMContentLoaded', function(){
    let img = document.getElementById('image');
   img.style.transform = 'rotate(0deg)';
   });
</script>
  
<img id="image" src="e:\1.jpg" width = "100%">
</body>
</html>

но Tif не отображает. jpf, gif и еще какие-то норм. отображает
подскажите - это ограничение какое-то?
какие варианты решений могут быть?
нужно именно через поле Html чтобы поворачивать картинку и сайзить.

заранее спасибо.
1 Сияющий в темноте
 
16.03.21
22:46
А браузер разве умеет tif показывать?
нужно перед показом преобразовать в png и все будет видно.
браузер показывает jpg,gif и png,все остальное через расширение или конвертер.
2 acht
 
16.03.21
23:32
(1) Сафари умеет. Для остальных костыли и палки типа https://github.com/seikichi/tiff.js
3 acht
 
16.03.21
23:33
4 Chameleon1980
 
17.03.21
04:46
(1) :( пичалька
5 Chameleon1980
 
17.03.21
04:46
(2) (3) спасибо большое - пошел смотреть
6 Chameleon1980
 
17.03.21
07:59
пытаюсь понять незнакомое
но не работает что-то

http://prntscr.com/10nsdd1
7 acht
 
17.03.21
08:54
(6) Попробуй как-то так:
<html>
    <meta charset="utf8"/>
<head>
    <script src="seikichi/tiff.min.js"></script>
</head>
<body>
    <input type="file" id="fileInput" />

    <img id="image" />

    <script type="text/javascript">
        (function(){

            var processTiff = function(buffer) {
                var tiff = new Tiff({buffer: buffer});
                var canvas = tiff.toCanvas();

                var img = document.getElementById('image');
                img.src = canvas.toDataURL();
                img.style.transform = 'rotate(45deg)';

            };


            var readImageFile = function(e) {
                  var file = e.target.files[0];
                  if (!file) {
                    return;
                }

                  var reader = new FileReader();
                  reader.onload = function(e) {
                    processTiff(e.target.result);
                  };
                reader.readAsArrayBuffer(file);

            };

            document.getElementById('fileInput').addEventListener('change', readImageFile, false);
            
        })();
    </script>

</body>
</html>
8 Chameleon1980
 
17.03.21
10:35
9 acht
 
17.03.21
10:55
(8) У меня успешно работает в:
    * FF 78.8.0
    * FF 86.0.1
    * Edge 89.0.774.54
    * 1С:Предприятие 8.3 (8.3.18.1334)

"Подключение" внещнего скрипта сделано так

    tiff_min_js = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет").ПолучитьТекст();
    
    ТекстHTML = "
        |<html>
        |    <meta charset=""utf8""/>
        |<head>
        |    <script>
        |" + tiff_min_js + "
        |    </script>
    ...


Давай дальше сам.