Jump to content

lolka84

User
  • Posts

    231
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by lolka84

  1. Привет! Есть функция: package ru.korshun.imgcrypto; import java.io.*; public class ImgCrypto { public static void main(String[] args) { ImgCrypto ic = new ImgCrypto(); try { byte[] enc = ic.load(); String e = ic.encode(enc); try (OutputStream out = new FileOutputStream("D:\\java\\ImgCrypto\\img\\image.jpg")) { out.write(ic.decode(e)); } } catch (IOException e) { } } public byte[] load() throws FileNotFoundException, IOException { InputStream in = new FileInputStream("D:\\java\\ImgCrypto\\img\\20130826_103942.jpg"); ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte[] buffer = new byte[32 * 1024]; while (true) { int r = in.read(buffer); if (r > 0) { bout.write(buffer, 0, r); } else { break; } } bout.close(); return bout.toByteArray(); } //——————————————————- public final String encode(byte[] d) { if (d == null) return null; byte data[] = new byte[d.length+2]; System.arraycopy(d, 0, data, 0, d.length); byte dest[] = new byte[(data.length/3)*4]; // 3-byte to 4-byte conversion for (int sidx = 0, didx=0; sidx < d.length; sidx += 3, didx += 4) { dest[didx] = (byte) ((data[sidx] >>> 2) & 077); dest[didx+1] = (byte) ((data[sidx+1] >>> 4) & 017 | (data[sidx] << 4) & 077); dest[didx+2] = (byte) ((data[sidx+2] >>> 6) & 003 | (data[sidx+1] << 2) & 077); dest[didx+3] = (byte) (data[sidx+2] & 077); } for (int idx = 0; idx < dest.length; idx++) { if (dest[idx] < 26) { dest[idx] = (byte)(dest[idx] + 'A'); } else if (dest[idx] < 52) { dest[idx] = (byte)(dest[idx] + 'a' - 26); } else if (dest[idx] < 62) { dest[idx] = (byte)(dest[idx] + '0' - 52); } else if (dest[idx] < 63) { dest[idx] = (byte)'+'; } else { dest[idx] = (byte)'/'; } } for (int idx = dest.length-1; idx > (d.length*4)/3; idx--) { dest[idx] = (byte)'='; } return new String(dest); } public final String encode(String s) { return encode(s.getBytes()); } public final byte[] decode(String str) { if (str == null) { return null; } byte data[] = str.getBytes(); return decode(data); } public final static byte[] decode(byte[] data) { int tail = data.length; while (data[tail-1] == '=') { tail--; } byte dest[] = new byte[tail - data.length/4]; for (int idx = 0; idx <data.length; idx++) { if (data[idx] == '=') { data[idx] = 0; } else if (data[idx] == '/') { data[idx] = 63; } else if (data[idx] == '+') { data[idx] = 62; } else if (data[idx] >= '0' && data[idx] <= '9') { data[idx] = (byte)(data[idx] - ('0' - 52)); } else if (data[idx] >= 'a' && data[idx] <= 'z') { data[idx] = (byte)(data[idx] - ('a' - 26)); } else if (data[idx] >= 'A' && data[idx] <= 'Z') { data[idx] = (byte)(data[idx] - 'A'); } } int sidx, didx; for (sidx = 0, didx=0; didx < dest.length-2; sidx += 4, didx += 3) { dest[didx] = (byte) (((data[sidx] << 2) & 255) | ((data[sidx+1] >>> 4) & 3)); dest[didx+1] = (byte) (((data[sidx+1] << 4) & 255) | ((data[sidx+2] >>> 2) & 017)); dest[didx+2] = (byte) (((data[sidx+2] << 6) & 255) | (data[sidx+3] & 077)); } if (didx < dest.length) { dest[didx] = (byte) (((data[sidx] << 2) & 255) | ((data[sidx+1] >>> 4) & 3)); } if (++didx < dest.length) { dest[didx] = (byte) (((data[sidx+1] << 4) & 255) | ((data[sidx+2] >>> 2) & 017)); } return dest; } } Мне же нужно ее видоизменить для того, что бы можно было отдельно: а) взять jpg, закодировать и сохранить на диск кодированный файл. б) взять закодированный файл и получить jpg Собственных знаний на это к сожалению пока не хватает Очень надеюсь, что подскажут, как возможно реализовать мою задачу.
  2. lolka84

    NetBeans GUI Builder

    Спасибо. Вдогонку вопрос: при "рисовании" формы создается неизменяемый код. Можно ли его как-то все-таки менять ?
  3. lolka84

    NetBeans GUI Builder

    Привет, подскажите, почему "нарисованная" форма в NetBeans'е отличается от формы, которая вылазит после запуска проекта ?
  4. lolka84

    .PHP Denwer

    А если написать http://localhost/ ?
  5. Да не вопрос Флудите в одиночестве.
  6. Аффтарь чото сам с собой болтает, вопросы со стороны делает вид, что не замечает. з.ы. Вчитался подробнее, что аффтарь пишет - жесть. Какой js, основы html выучи для начала. Начни с этого сайта.
  7. "$('#side1').click(function(){$(document).getElementById('jslink').onclick();});" - если не секрет, какой смысл несет в себе эта функция ? Да, для модальных окон лучше всего использовать jquery ui
  8. А чем именно помочь то ? Рассказать, как из строкового элемента блочный сделать ? Или где найти нужный тэг <a> и заменить его на <input> ? Или что ?
  9. Это раз.В веб-инспекторе можно было наблюдать, что как раз у <p> идут большие отступы, из-за чего и распирало. И мне интересно, каким образом он влияет на vertical-align? Да что с того то, что он пустой, вы вот мне на инспектор всё киваете, а сами не видели в нем что ли, какие свойства для <p> заданы ? Специально для вас: http://habrahabr.ru/post/73113/ надеюсь, сможете провести параллели. А уж где и какие отступы вы у него умудрились увидеть - это для меня точно загадка и большой вопрос, кто из нас не умеет пользоваться инспектором
  10. Народ, я что-то не то спрашиваю или что ?
  11. http://jsfiddle.net/NTsQW/3/ - кривое выравнивание http://jsfiddle.net/NTsQW/4/ - нормальное выравнивание Понятно, что там table-cell, а тут inline-block, но в чем принципиальное отличие то, почему inline-block коверкает строки, если в них есть переносы слов ?
  12. По моему мнению он должен отображаться так же, как обычно отображается обычный многострочный текст. Откуда тут появляется расстояние между строками при переносе ? Пустой <p></p> служит для вполне конкретных целей, в данном случае для того, что бы vertical-align:middle; работал так, как от него требуется. Веб-инспектором пользоваться умею, не помогает в данном случае, хоть убей не пойму, откуда расстояние между строками берется. Если кто подскажет, буду очень благодарен.
  13. Всем привет. http://test.premier96.ru/main.html Кто-нибудь может объяснить, почему в верхнем меню странно отображается текст, если он в несколько строк ?
  14. lolka84

    show\hide и IE7

    Хорошо, как тогда сделать, что бы в IE7 не срабатывала эта функция ? Повешу открытие меню просто на css.
  15. Всем привет. Помогите подружить show\hide и IE7, а ? Второй час бьюсь - не работает, хоть убей http://test.premier96.ru/main.html В горизонтальном меню выпадающие пункты - в IE7 не работает совсем Скрипт элементарный: $("div.menu li").hover(function () { clearTimeout($.data(this,"timer")); $("ul",this).stop(true,true).show(400); }, function () { $.data(this,"timer", setTimeout($.proxy(function() { $("ul",this).stop(true,true).hide(400); }, this),200)); }); Очень надеюсь на вашу помощь!
  16. И правда туплю, можно же
  17. Всем привет, что-то туплю, скажите, правильно ли понимаю, что спрайты получится использовать только если мы задаем ширину и высоту объекта на странице и фоном на весь этот размер накладываем часть спрайта, равную этому размеру, позиционируя его с помощью background-position ? Т.е. в случае, если мы просто накладываем на кнопку файл с картинкой (не спрайт, а именно отдельный файл), позиционируем его 0% 50% к примеру (с левой стороны посередине), а для свойства :hover подкладываем уже другой файл по такому же принципу - в этом случае каким-то образом эти два файла в спрайт собрать получится ? Надеюсь понятно объяснил
  18. lolka84

    книжки по java

    Шилдта всяко советую, очень доступно дядька пишет.
  19. Всем спасибо, Yazon_Nile'у в особенности Век живи, век учись.
  20. Блин Что ему не хватает то тогда ? Как вот вообще такие вещи проверять, если девайса под рукой нет, а онлайн-показометры врут ?
  21. Так потому что он у вас в html прописан, не ?
  22. Всем привет. Есть простая верстка: http://test.premier96.ru/main.html Говорят (сам сабжевым девайсом не обладаю, поэтому воочию посмотреть не могу), что на айпаде кое-что едет, даже картинку дали как оно едет: http://test.premier96.ru/photo.jpg Проблема даже не в том, что вообще мало понятно, почему оно так вот едет, а в том, что ВСЕ онлайн показометры сайтов на моб. устройствах ничего подобного не показывают, там все ок. Может у человека с браузером на девайсе фигня какая-то происходит ? У кого айпад есть, гляньте, как у вас отображается или кто-то может просто подскажет, в чем может быть дело ? Заранее благодарю!
  23. Блиннн, точно, спасибо)) А есть вариант, как сделать, что б спан все-таки тянулся в данной ситуации ? Switch74, именно, благодарю!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy