Показать сообщение отдельно
  #9 (permalink)  
Старый 15.01.2018, 13:06
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

clecar,
Вообще-то вот так работает - ввод исходного текста, кнопки Запомнить и Посмотреть. Насчет исходного файла r1.png - проблема доступа отсюда
<div id = "place"></div>
<div id = "source" style = "display:none">    <center><p><h2>СОХРАНЕНИЕ ТЕКСТА В ФАЙЛЕ PNG.</h2></p></center>
    <img src='http://clecar.ru/fail/cmal.gif' alt='' style='position: absolute; left: 30px;
        top: 10px; width: 80px; cursor: pointer;' onclick='document.location="http://clecar.ru"' />
    <input type="text" id="b" style='position: absolute; background: #faf; top: 60px;
        left: 270px; width: 800px;'>
    <div id='сод' style='position: absolute; background: #fdd; padding: 10px; word-break: break-all;
        overflow-y: scroll; font-size: 18px; top: 110px; left: 270px; width: 800px; height: 500px;'>
    </div>
    <div style='position: absolute; text-align: center; font-size: 18px; background: #ccf;
        top: 110px; left: 10px; width: 250px; height: 500px;'>
        <img id='ш' src='http://id190382234-0.myjino.ru/raznoe/textcanvas/r1.png' />
        <canvas id='прячу' width="100" height="100">
        </canvas><br>
        <br>
        <div id='инф'>
            0</div>
        <br>
        <input type="button" value="очистиь" onclick="прячу.width=прячу.width; сод.innerHTML=''; b.value=''; b.focus();">
        <input type="button" value="запомнить" onclick="тор(); "><br>
        <br>
        <input type="button" value="посмотреть" onclick="дешифратор(); "><br>
        <br>
        <input type="button" value="обновить" onclick="location.reload(); "><br>
        После загрузки этой страницы нажмите <b>обновить</b> затем кнопку <b>посмотреть</b>
    </div>
<script>
    var номер = 0;
    var знак = [];
    var текст = document.querySelector("#прячу").getContext('2d');
    текст.drawImage((ш), 0, 0, 100, 100);
    var imgd = текст.getImageData(0, 0, 100, 100);
    pix = imgd.data;
    var буквы = [' ', 'ё', "й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '+', '=', ";", "'", '#', '№', '%', '&', '?', '*', '(', ')', '{', '}', '<', '>', '|', '/', ':', '_', ',', '.', '"', 'Ё', 'Й', 'Ц', 'У', 'К', 'Е', 'Н', 'Г', 'Ш', 'Щ', 'З', 'Х', 'Ъ', 'Ф', 'Ы', 'В', 'А', 'П', 'Р', 'О', 'Л', 'Д', 'Ж', 'Э', 'Я', 'Ч', 'С', '', 'М', 'И', 'Т', 'Ь', 'Б', 'Ю', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m"];
    var знач = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162];
    var k = 0;
    document.querySelector("#b").focus();
    function тор(e) {
        var t = document.querySelector("#b").value;
        document.querySelector("#инф").innerHTML = 'length = ' + t.length;
        var d = t.length;
        for (n = 0, m = 40000; n < m; n += 4) {
            pix[n + 3] = 255;
            pix[n + 1] = 255;
            pix[n + 2] = 0;
            pix[n] = 0;
        }
        var u = 0;
        for (na = 0, ma = 40000; na < ma; na++) {
            k++;
            if (k == 1) { k = 0; na += 3; }
            for (no = 0, mo = 162; no < mo; no++) {
                if (t.charAt(u) == буквы[no]) {
                    pix[na] = знач[no];
                    break;
                }
                if (t.charAt(u) == '[') {
                    pix[na] = 200;
                }
                if (t.charAt(u) == ']') {
                    pix[na] = 199;
                }
                if (t.charAt(u) == '_') {
                    pix[na] = 197;
                }
            }
            текст.putImageData(imgd, 0, 0);
            u++;
            if (u > d) { break; }
        }
    }
    function дешифратор() {
        for (n = 0, m = 40000; n < m; n++) {
            for (na = 0, ma = 162; na < ma; na++) {
                if (pix[n] == знач[na]) {
                    document.querySelector("#сод").innerHTML += буквы[na];
                }
            }
            if (pix[n] == 200) {
                document.querySelector("#сод").innerHTML += '[';
            }
            if (pix[n] == 199) {
                document.querySelector("#сод").innerHTML += ']';
            }
            if (pix[n] == 197) { 
                document.querySelector("#сод").innerHTML += '_'; 
            } 
        } 
        var t = document.querySelector("#сод").innerHTML;
         document.querySelector("#инф").innerHTML = 'length = ' + t.length;
    } </script>
</div>
<script>
var cont = document.querySelector("#source").innerHTML;
document.querySelector("#place").insertAdjacentHTML("afterBegin",cont);
</script>

Это не insertAdjacentHTML, а JS упирался при наличии тега script в строковой константе.

Последний раз редактировалось Dilettante_Pro, 15.01.2018 в 15:14.
Ответить с цитированием