Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Java2ME] Перевод Image в byte[], как перевести 
:(
    Опции темы
Weman
  Дата 18.11.2010, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.11.2005
Где: Санкт-Петрбург

Репутация: нет
Всего: нет



Здравствуйте! Подскажите, пожалуйста! 

Стоит задача: есть устройство1(клиент) и устройство2(сервер). Надо передать по сети картинку (64х64) с устройства1 на устройство2, там его обработать и вернуть обратно на устройство1. Подскажите, пожалуйста, как осуществить перевод изображения типа Image в массив byte[] и потом из byte[] обратно перевести в Image. Изображение в формате .PNG

Заранее спасибо! Пишу на Java2ME
--------------------
PM MAIL ICQ   Вверх
oxigen
Дата 19.11.2010, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Нашел у себя такой код:

Image->byte[]
Код

 Image image;
        ....
        height = image.getHeight();
        width = image.getWidth();
        int[] imgRgbData = new int[width*height];

        image.getRGB(imgRgbData, 0, width, 0, 0, width, height);
           
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        DataOutputStream dout = new DataOutputStream(bout);
        dout.writeInt(width);
        dout.writeInt(height);
        dout.writeInt(imgRgbData.length);
        for (int i=0; i<imgRgbData.length; i++) {
            dout.writeInt(imgRgbData[i]);
        }
        dout.flush();
        dout.close();
        byte[] data = bout.toByteArray();
        int recid = imagesRS.addRecord(data, 0, data.length);


byte[]->Image
Код

                byte[] rec;
                ....
                ByteArrayInputStream bin = new ByteArrayInputStream(rec);
                DataInputStream din = new DataInputStream(bin);
              
                int width  = din.readInt();
                int height = din.readInt();
                int length = din.readInt();

                int[] rawImg = new int[width*height];

                for (i = 0; i < length; i++) {
                    rawImg[i] = din.readInt();
                }
                Image img = Image.createRGBImage(rawImg, width, height, false);
                din.close();
                bin.close();

PM MAIL   Вверх
Weman
Дата 19.11.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.11.2005
Где: Санкт-Петрбург

Репутация: нет
Всего: нет



oxigen, спасибо! Попробую прикрутить к своей проге)
--------------------
PM MAIL ICQ   Вверх
Weman
Дата 19.11.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.11.2005
Где: Санкт-Петрбург

Репутация: нет
Всего: нет



Взял кусочек из кода. Получается что картинка преобразуется из типа Image в целочисленный массив типа Int[height*width]. 
Вот код:

Код

        int height = img.getHeight();
        int width = img.getWidth();
        int[] imgRgbData = new int[width*height];
        try 
        {
            //получаем цвет в представлении ARGB и сохраняем его в массиве данных imgRgbData
            img.getRGB(imgRgbData, 0, width, 0, 0, width, height);
        } 
        catch (Exception e) 
        {
            System.err.println("Convert images error");
        }


Подскажите,пожалуйста, как целочисленный массив int[] перевести в строку символов String. Спасибо!
--------------------
PM MAIL ICQ   Вверх
anvarga
Дата 25.11.2010, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



как сохранить можно в mysql  байта использование на php?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0722 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.