witam, czy istnieje możliwość zapisania jakiegoś obrazka w programie (by się nie załadowywał i by nie można go było edytować przez użytkownika) ?
albo by był jakoś zakodowany (chodzi tylko o to by nikt nie mógł go edytować)
GIMP ma opcję eksportu obrazu do pliku *.c lub pliku *.h. Możesz sobie taki obrazek osadzić w aplikacji i odpowiednio opakować w obiekty, żeby się dało wyświetlić. Jakieś szyfrowanie i deszyfrowanie też wchodzi w grę. Nie żeby to jakoś specjalnie utrudniło zdeterminowanym osobom, bo sam bytecode Javy byłby i tak słabiej zabezpieczony niż Twój obrazek :)
możesz sobie zserializować obrazek w Javie i wczytywać zserializowany obiekt później. ;-)
Ja zapisuje obrazki do bazy danych, obraz jest wyświetlany bezpośrednio z niej. Ja akurat używma MS SQL i jest to pole Image, ale pamiętam że do Interbase dało zapisac się np. w polach bitowych.
do MySQL-a też
wystarczy obraz na byteArray zmienić
public byte[] extractBytes (BufferedImage image) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for (int readNum; (readNum = fis.read(buf)) != -1;)
bos.write(buf, 0, readNum);
return bos.toByteArray();
i ciach to pola typu byte[]; czy tam blob czy jak to tam się nazywa w MySQL
tylko trzymanie zdjęć w ogóle w bazie danych jest do kitu, Lepiej trzymać url do zdjęć a wczytywać je dopiero w programie. Przynajmniej ja tak robię ;)
Bloby z bazy danych nie cache'uja się i muszą być wczytane przy każdym ładowaniu strony. Ale autor wątku chyba chce zrobić aplikację desktopową bez konieczności łączenia się z Internetem, czy stawiania bazy danych.