Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 2D / 21 сообщений из 21, страница 1 из 1
29.01.2007, 16:25:33
    #34290350
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Вообсчем сущ задача
Необходимо сгенерировать рисунок заданного размера с текущей датой и временем в файл.
Так как текущее время дело строго динамическое то ручками создавать нет возможности.
Нарыл я способ посредством класса java.awt.* - для данной задачи более чем достаточно.
Но в моих источниках все примеры иллюстрируют вывод на экран а о сохранении в файл а еще и без оного вывода ненашел ниче.
Помогите разрешить задачку или укажите хоть посредством какого класса можно созданый имг затолкать в файл и возможно ли генерить рисунки в фоновом режиме без вывода на екран.
...
Рейтинг: 0 / 0
29.01.2007, 16:54:58
    #34290476
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Смотри класс ImageIO, для сохранения. Врое остальное у тебя вопросов не вызывает?
...
Рейтинг: 0 / 0
29.01.2007, 19:39:53
    #34290999
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
тоесть java.awt.ImageIO.* - так я понял?
Ок проверю.
большое спасибо
Вопрос еще такой:
чтобы сохранить рисунок я должен его нарисовать(вызвать методы прорисовки текста - дата и время) ну а потом сохранить. Есть ли возможность генерации сразу в файл а не в промежуточном окне и в файл.
Я так понимаю будет порядком быстрее. Так как может возникнуть ситуация посекундной генерации(это врядли но всеже). Будет ли успевать комп прорисовывать и сохранять файлы. Думаю луче сразу в файл.
Если кто сталкивалса можт подскажите.
Только фразы как ты етого не знал плз не писать.
Заранее благодарен!!!
...
Рейтинг: 0 / 0
29.01.2007, 19:46:00
    #34291005
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
yHuma3
Зачем рисовать в промежуотчном окне? :) ... Создаете Image, берете Graphics (getGraphics()), с помощью которого рисуете на нем (в частности с помощью метода Graphics.drawString(...)), после чего сохраняете Image в файл.
...
Рейтинг: 0 / 0
29.01.2007, 20:17:20
    #34291081
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Ну например, создаем имейдж:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 public  BufferedImage createDateTimeImage( int  imageWidth,  int  imageHeight) {
    BufferedImage image =  new  BufferedImage(imageWidth, imageHeight, BufferedImage.BITMASK);

    SimpleDateFormat formatter =  new  SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    String dateTimeStr = formatter.format( new  Date());

    Graphics g = image.getGraphics();

    g.setFont(g.getFont().deriveFont(Font.BOLD,  20 ));
    g.setColor(Color.RED);

     int  x = (imageWidth  - g.getFontMetrics().stringWidth(dateTimeStr)) /  2 ;
     int  y = (imageHeight - g.getFontMetrics().getHeight()) /  2 ;

    g.drawString(dateTimeStr, x, y);

     return  image;
}

Как только получите Image, не нужно его отображать где либо. Сохраняйте его сразу в файл.
...
Рейтинг: 0 / 0
30.01.2007, 08:08:27
    #34291513
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
...
Рейтинг: 0 / 0
30.01.2007, 12:12:12
    #34292223
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
to Ruslan
да блин не знаю как благодарить с меня пиво однозначно
мож вопрос в некоторых моментах был и туповат но в моем источнике по даному вопросу - было вобще глухо.
Нет случайно в електронке нормального рус источника по java и желательно по java для web?
...
Рейтинг: 0 / 0
30.01.2007, 12:28:11
    #34292301
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
yHuma3Нет случайно в електронке нормального рус источника по java и желательно по java для web?
Java для Web достаточно широкая тема. Что конкретно интересует? JSP, Servlet, ... ?
...
Рейтинг: 0 / 0
30.01.2007, 13:44:38
    #34292714
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Вообщето JSP но в тех источниках что есть у меня такие расширенные моменты как скажем работа с фалами рисунков просто отсутствуют, как и многое другое которое найти тоже не легко (например почта в java - ну с этим уже нет проблем). Я как бы еще новичек но лучше пусть инфа будет сложнее но полнее чем просто поверхностная которая есть у меня.
Кстати облазил в городе немеренно магазинов в поиске книге по JSP - глухо, наверное в нашей стране данная технология не прижилась :(
...
Рейтинг: 0 / 0
30.01.2007, 21:16:48
    #34294319
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
yHuma3Вообщето JSP но в тех источниках что есть у меня такие расширенные моменты как скажем работа с фалами рисунков просто отсутствуют...
Работа с файлами рисунков относится к Java2D / AWT, но никак не к JSP. Если хотите почитать про AWT / Swing - рекомендую И. Портянкин - "Эффективные пользовательские интерфейсы", C. Adamson, J. Marinacci - "Swing Hacks".

yHuma3Я как бы еще новичек но лучше пусть инфа будет сложнее но полнее чем просто поверхностная которая есть у меня.
В одной книге все не уместится. Вы определитесь с конкретным направлением. Эл. книг куча, останется только найти нужную.

yHuma3Кстати облазил в городе немеренно магазинов в поиске книге по JSP - глухо, наверное в нашей стране данная технология не прижилась :(
Есть JSP/Servlet Cookbok (сборник рецептов). Язык - английский, формат - CHM, весит 2.85 метров. Могу выслать на почту.
...
Рейтинг: 0 / 0
31.01.2007, 13:51:39
    #34296084
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Работа с файлами рисунков относится к Java2D / AWT, но никак не к JSP.
Я прекрасно понимаю к чему она относиться но JSP без сервлетов не JSP. А в сервлеты могут исспользовать все инклуды жавы. Мне 1000 страничный том о включении скриплетов не интересен.
Я имел ввиду под Java для Web не тупо JSP а именно Java для JSP потому что в источниках по жаве все ориентировано именно на локальные java-приложения и некоторые проблемы связки с JSP возникают, приходиться выкручиваться
рекомендую И. Портянкин - "Эффективные пользовательские интерфейсы", C. Adamson, J. Marinacci - "Swing Hacks"
Спасибо.
Поищем!!!
Я нахожу немало ссылок на книги но они восновном зарубежные(и русские в том числе) и доступ к ним у меня закрыт как для иностранца. :(
Обхожусь чем могу
Можешь выложить сборник рецептов в кой нюдь файлообменник.
Меня и так спамеры заваливают письмами - не хочу ящик светить.
Заранее спасибо!
...
Рейтинг: 0 / 0
01.02.2007, 08:43:42
    #34297975
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
yHuma3Можешь выложить сборник рецептов в кой нюдь файлообменник.
тынц
...
Рейтинг: 0 / 0
01.02.2007, 12:48:43
    #34298886
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Кочаю!
Спасибо!
...
Рейтинг: 0 / 0
01.02.2007, 12:58:54
    #34298931
Arcadie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
во тебе и фоново и чтение и запись и конвертация
файлик сам поставишь а то exception
кстати в 6 яве дополнились реадеры и райтеры
они конвертят сущ типы в середняк ImageBuffered
вещь рульная
а можешь и сам свой напсать
тока нодобно книжечку о форматах почитать - но и етих конвертеров достаточно

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Bmp2Gif
{
public static void main(String[] args)
{
BufferedImage bmp_image = null;
try
{
// тута автоматный конверт по типу файла - но можа ставить любой
bmp_image = ImageIO.read( new File( "c:/arc.bmp" ) );
// тута уже указываем - мол жпг надобно
ImageIO.write(bmp_image, "jpg", new File( "c:/arc.jpg"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
...
Рейтинг: 0 / 0
01.02.2007, 13:06:35
    #34298959
Arcadie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
ну уже с поднятой картиной в плане ImageBuffer
делай шо хошь
и в аррай и на ...
вот тебе зеркало картины

Graphics g = image.getGraphics();
int x = image.getWidth();
int y = image.getHeight();
g.drawImage(image, 0, 0, x, y, x, 0, 0, y, null);

т.е берешь у картинки графический контекст
а тама методов .....
и мутишь шо хошь

и не надо имажей посредников
...
Рейтинг: 0 / 0
01.02.2007, 16:07:21
    #34299680
yHuma3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Да спасиб!
Я тут на пол пути подумал что целесообразнее будет сохранять в формате гиф так как имегов будет не один - так наверное и быстрее и выгоднее. А цветовая гамма в 256 цветов меня более чем устраивает. Уже даже нашел как в гиф сохранять - так что но проблем
Спасибо еще раз
...
Рейтинг: 0 / 0
21.02.2007, 10:47:25
    #34346145
Arcadie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
столкнулись с проблемой

Graphics g = image.getGraphics();
int x = image.getWidth();
int y = image.getHeight();
g.drawImage(image, 0, 0, x, y, x, 0, 0, y, null);

было предположение шо драйимаже рисовал сам на себя (в этом примере) через буфер
но не так оказывается
при зеркаливании картинки g.drawImage(image, 0, 0, x, y, x, 0, 0, y, null); // ось Y - горизонтально
это пашет
а вот при g.drawImage(image, 0, 0, x, y, 0, y, x, 0, null); // ось X - вертикально
картинка поролась
буфера по ходу нема
поэтому шоб небыло ....
надобно
g.drawImage(image0, 0, 0, x, y, 0, y, x, 0, null) // в любых вариантах
где image0 - дубликат image
...
Рейтинг: 0 / 0
21.02.2007, 12:24:51
    #34346533
Arcadie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
еще одна интересная тема
по идее то что дает граф контекст и ессено последующие рисунки на ем должен мачится следующим событием который закидывает repaint и выполняет paint
но получается при рисовании на картинке т.е. на Image потом усе остается
значит граф контекст с картинки и есть сама картинка и все изменения с нею т.е. рисование меняют саму картинку т.е. идет прямое изменение данных
или как ?
...
Рейтинг: 0 / 0
22.02.2007, 08:51:55
    #34348930
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
на сайте javasoft.com где то валялся pdf про imageio и вообще там подробно было расписано что и как делать причем простенько и понятненько с маленькими примерчиками. С собой этого pdf нет где то дома на компе.
попробуйте поискать если надо
...
Рейтинг: 0 / 0
22.02.2007, 09:14:27
    #34348960
Arcadie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
пасибо
заинтересовало как пашет граф контекст именно с имажем
по идее граф контекст - наиболее быстрый метод рисования - но он просто рисует на че-то будь то кнопка или другая хрень
потом при репайнте копмпонент востанавливает себя и по ходу связанные с ним данные
а тута при рисовании на картинке через граф контекст усе остается
интересно тако должно быть или как
тута надобно поковыряться
как интересно еще пашет рисование на контексте на не компанентах типа имаже ?
изменится ли имаже если содрать контекст с компонента содержащего имаже и тама нарисовать?

нащет буферизации картинок тоже замануха
вроде пахало
картинку поболее поставили - просто прикололись - и уже не пахало
картина ломалась
честно говоря могли и буфер вставить - запись через двойной буфер в принципе есть и используется по умолчанию в swinge - так шо такая шальная мысль и подкачивает :(
думаешь и тута наверно е - ан нету
...
Рейтинг: 0 / 0
22.02.2007, 09:19:34
    #34348971
ёнах пыш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java 2D
Ruslan.IsbarovРабота с файлами рисунков относится к Java2D / AWT, но никак не к JSP.надо же.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 2D / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]