atarionline.pl Mój konwerter obrazków z Atari do GIF/PNG/BMP - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorPrawdziwy
    • CommentTime1 Jun 2018
     
    Chciałem Wam zaprezentować mój program do wyświetlania obrazków.
    Obsługuje prawie 250 formatów, w tym całe mnóstwo formatów z Atari. Wczytane obrazki można zapisać jako BMP, PNG, PNM, GIF oraz JPEG.

    Program jest freeware. Obecnie działa tylko pod Windows chociaż pod OSX i Linuksami powinien ruszyć o ile macie Wine.

    Więc jeżeli jakichś formatów graficznch mój program nie umie obsłużyć, a byście chcieli, żeby miał taką funkcję to podrzućcie pliki, a chętnie spróbuję dodać ich obsługę.

    Link bezpośredni do pliku EXE (500 kB). Nie wymaga instalacji. Działa pod Windows 32/64 bit:

    Tom's Editor Desktop:
    ->link<-
    • 2:
       
      CommentAuthorKaz
    • CommentTime2 Jun 2018
     
    O, fajnie się zapowiada. Trzymam kciuki. Podobny program stworzył Fox:
    ->link<-

    Niestety, w Twoim nie ma podstawowego formatu Atari ST: PI1, zaś format PI3 wyświetla się nieprawidłowo (czerwony kolor w mono? :D). Nie ma również mojego ulubionego CA1 (Crack Art).
  1.  
    Hey great! Another viewer for old 8Bit and 16Bit formats, cool ! Think Recoil does more formats BUT afair, it does not have the ability to convert+save into another format, at least not yet...?!?

    It would be cool if your program also supported R,G,B and RLE-compressed RGB format. R,G,B is standard Gr. 8, Gr.9, Gr. 15 with red, green and blue tones (2 tones in Gr.8, 4 tones in Gr. 15 and 16 tones in Gr.9) which combined give a lot of colours but also some flicker and swimming. R,G,B are three uncompressed 62 sector pictures, whereas RGB is all three pictures RLE-compressed into one file (with header RGB1 afaik). Think I have some sources in my collection.

    And it would be absolutely great if your viewer/converter could convert GIF, JPG, PNG, BMP into several A8 formats, like standard/old Gr.8, Gr.9, Gr.15, Apac or Apac-2 and newer formats like HIP, RIP, TIP, CIN, RGB, BGP, RAW/MAX (Gr. 15 interlaced with PAL blending, using one picture with colours red, green, blue, black and a second picture with four greys which give you up to 160x240 pixels and up to 16 colours; RAW is afaik uncompressed and MAX is compressed with Code3 cruncher)...
    • 4: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018
     
    @Kaz:

    Dziękuję za miłe słowo. To ważne dla mnie na tym etapie. Słyszałem już trochę głosów typu "po co, skoro już istnieje XnView/IrfanView" i miło usłyszeć coś pozytywnego!
    Wszyscy chyba znają Recoil, ale jeden więcej program do starych formatów nie zaszkodzi :)
    Co do PI3 to poprawię ten czerwony. Natomiast pozostałe formaty Degasa i Crack Arta już dodaję na listę do zrobienia. Dzięki!

    @CharlieChaplin:
    Thanks! I added your notes to my TO-Do list. I wasn't sure if I should make it possible to save images as old retro formats. But after I've shown this program to a few people I was told it would be great to add this feature.
    So today I published a BETA version as a webpage:
    ->link<-
    where you can convert PNG, GIF and JPEG to a bunch of old formats.
    For now it's a webpage but I'll add these features to a future version of Tom's Editor Desktop (the Windows app).
    • 5: CommentAuthorpirx
    • CommentTime3 Jun 2018 zmieniony
     
    web app is the future!
    you've got js already, so what about adding a very useful feature of WUDSN dev environment - scripted conversions.
    in WUDSN you can open a pic and treat it with your own script, like this:
    function convertToFileData(data) {
    var bpsl = (data.getImageDataWidth() + 7) / 8;
    var bytes = [];
    var offset = 0;
    for (var y = data.getImageDataHeight()-1; y >= 0; y--) {
    for (var x = 0; x < data.getImageDataWidth(); x = x + 8) {
    var b = 0;
    for (var p = 0; p < 8; p++) {
    var color;
    color = data.getPixel(x + p, y);
    if (color != 0) {
    b = b | 1 << 7 - p;
    }
    }
    bytes[offset++] = b;
    }
    }
    data.setTargetFileObject(0, bytes);
    }

    The rationale is that the bitmap formats are not enough - to use them a kind of conversion to raw binary data is still necessary.
    • 6: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018
     
    @pirx:
    Web Apps are the future but I am not quite sure what this WUDSN is. From the homepage of this project it seems it's an emulator written in JavaScript?
    • 7: CommentAuthorpirx
    • CommentTime3 Jun 2018 zmieniony
     
    WUDSN is a full blown IDE for retro compys built on Eclipse and is in Java, it contains a js engine just for the graphics manipulation (super useful). but i mentioned it only as an example - let ppl run their own scripts on gfx data and you'll get one nice expandable editor, sth like ruby scripts in SketchUp or python in GIMP.
    • 8:
       
      CommentAuthorKaz
    • CommentTime3 Jun 2018
     
    Co do PI3 to poprawię ten czerwony.


    O dziwo, tylko niektóre obrazki tak się objawiają tym czerwonym, inne normalnie.

    Program prosty, konkretny. Dodałbym jeszcze jakieś okienko informacyjne, że operacja odczytu się nie powiodła. Teraz nie wiadomo, czy program wczytał obrazek i jest on identyczny z poprzednim czy operacja się w ogóle nie udała.

    Tym, że już istnieje jakiś inny, podobny program, nie ma co się przejmować. Jak masz chęć robić coś po swojemu to rób! Z chęcią zgłosimy listę marzeń do wykonania :D
    • 9: CommentAuthorpirx
    • CommentTime3 Jun 2018 zmieniony
     
    hahaha zapomniałem, że jesteśmy na polskim forum :))) ale to też piękne, że dzięki CharlieChaplin i innym forum staje się coraz bardziej międzynarodowe :)
    • 10: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018
     
    @Kaz
    Wziąłem skądś informację, że format PI3 ma co prawda 2 kolory, ale z palety. Stąd czasami jest czerwony, bo ten mój program traktuje któreś bajty jako paletę.
    Myślałem już o takim okienku, ale czasem ciężko ustalić w czym problem, gdy nie udało się obrazka odczytać. Czy obrazek jest uszkodzony? Czy może format jest inny niż oczekiwany przez mój program? Nie chciałem wyskakującego alerta, bo to wkurza, ale może dam info na pasku stanu albo coś w ten deseń.

    @pirx
    Ja się zastanawiam jak w ogóle CharlieChaplin zrozumiał mój opis po polsku :D
    • 11: CommentAuthor0xF
    • CommentTime3 Jun 2018 zmieniony
     
    (wyedytowane: cofam to, co wcześniej powiedziałem)
    • 12: CommentAuthorgorgh
    • CommentTime3 Jun 2018
     
    czemu plagiat?
    • 13: CommentAuthor0xF
    • CommentTime3 Jun 2018 zmieniony
     
    .
    • 14:
       
      CommentAuthorKaz
    • CommentTime3 Jun 2018
     
    Jesteś tego pewny Fox? Jeśli to prawda to bardzo nieładnie i powinno być publicznie wyjaśnione. Na stronie projektu widzę (c) copyright, nota bene roku 2019 (?)... więc nie wiem co o tym sądzić.
    • 15: CommentAuthor0xF
    • CommentTime3 Jun 2018 zmieniony
     
    .
  2.  
    Since I do not speak nor understand polish language, I use Google translate to read the topics here at AOL. (Topics are translated to english for me, since that works better than translation to german...)
    • 17: CommentAuthor0xF
    • CommentTime3 Jun 2018 zmieniony
     
    .
    • 18: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018 zmieniony
     
    Jus to mak things clear: My EXE is not malware. You can check for viruses here:
    ->link<-
    • 19: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018 zmieniony
     
    .
    • 20:
       
      CommentAuthorKaz
    • CommentTime3 Jun 2018
     
    Prawdziwy - czy mógłbyś opublikować źródła programu, aby rozstrzygnąć jednoznacznie tę wątpliwość?
    • 21: CommentAuthorPrawdziwy
    • CommentTime3 Jun 2018 zmieniony
     
    Przykładowa procedura dekodująca PI3 wygląda u mnie tak:

    function Decode_PI3: Byte;
    var i: Integer;
    resolution: Integer;
    P: Integer;
    pal: array[0..15] of TRGBA;
    begin
    if (f.size <> 32034) and (f.size <> 32066) then begin
    Result := 2;
    Exit;
    end;

    resolution := f.readU2;

    for i:=0 to 15 do begin
    p := f.readMU2;

    pal[i].R := round(getBits(p, 8, 3)*36.25);
    pal[i].G := round(getBits(p, 4, 3)*36.25);
    pal[i].B := round(getBits(p, 0, 3)*36.25);
    end;

    Bmp.SetSize(640, 400);

    for y:=0 to bmp.height-1 do
    for x:=0 to (bmp.width div 8)-1 do
    begin
    b := f.readU;
    for i:=0 to 7 do begin
    g := getBits(b, 7-i, 1);
    Bmp.Pixel(8*x+i, y, pal[g].r, pal[g].g, pal[g].b, 255);
    end;
    end;

    Result := 0;
    end;
    • 22: CommentAuthor0xF
    • CommentTime4 Jun 2018 zmieniony
     
    Zresztą w ogóle to ciekawe co piszesz skoro program NIE OTWIERA plików g2f wcale.

    hollypilgrims_piesiu.g2f:
    • 23: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018 zmieniony
     
    0xF:
    Żeby wszystko wyjaśnić: są dwa różne programy:

    1. Tom's Editor, który działa jako aplikacja w przeglądarce. Obsługuje 500 formatów i rzeczywiście korzysta z RECOIL do obsługi niektórych formatów, o czym jest informacja w Helpie programu i co jest zgodne z licencją RECOILa. O tym programie nic nie mówiłem w tym wątku.
    I to tego programu screenshota wrzuciłeś.

    2. Tom's Editor Desktop, który jest aplikacją dla Windows (EXE), obsłguje 200 formatów i wcale nie korzysta z RECOIL. To o tym programie jest mowa w tym wątku. Na samej górze tego wątku jest screenshot tego programu (wraz z linkiem do samego EXE):
    • 24:
       
      CommentAuthorKaz
    • CommentTime4 Jun 2018
     
    Fox, czy to wyjaśnienie wyczerpuje Twoje zarzuty?

    Prawdziwy - a po co używasz dwa różne silniki do jednego rodzaju programu? No i drugie pytanie: dlaczego nie chcesz opublikować źródeł programu, czy jest w tym coś złego? Komercyjnie tego przecież nie rozpowszechniasz (czy zamierzasz?), a dobrym zwyczajem takiego oprogramowania jest otwartość.
    • 25: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018
     
    Kaz
    Silniki nie są do końca 2. Wersja webowa używa części kodu z wersji dla Windows oraz używa pluginów, żeby mieć więcej formatów.
    Używa tylko części kodu z wersji dla Windows, bo nad wersją dla Windows po prostu pracuję więcej.
    Z kolei nie chcę żadnych pluginów w wersji dla Windows, bo mi osobiście podoba się, że cały program jest w 1 pliku EXE i nie wymaga instalacji. Kod RECOILa jakbym chciał wrzucić do wersji dla Windows to musiałbym albo jako DLL czyli oddzielny plik albo musiałbym najpierw przepisać na język Object Pascal (bo w nim jest napisany cały Windowsowy program).
    Nie wiem czy cokolwiek innego kiedyś będę chciał zrobić z kodem tej wersji Windowsowej. Powiem Ci, że w życiu napisałem całkiem sporo kodu, którzy wrzuciłem do netu na licencjach open source. I to nawet nie na takich ograniczających jak GNU/GPL (z której korzysta Recoil), ale na licencjach MIT czy nawet Public Domain. GNU/GPL można dać do skompilowanego programu tylko wtedy, kiedy program będzie jako GNU/GPL. Kodu na licencji MIT czy Public Domain można używać bez wpływu na licencję programu końcowego. I powiem Ci, że absolutnie nic z tego nie miałem. W dodatku mój kod trafił potem do programów, które zarabiały. Większość programów open source nigdy nie przynosi twórcy niczego. Nie tylko pieniędzy, ale absolutnie niczego. Także na chwilę obecną nie widzę żadnych korzyści z tego, że wrzucę kod źródłowy do netu.
    Dla użytkownika końcowego i tak nie byłoby różnicy, bo licencja programu jest freeware czyli nawet komercyjnie może każdy z programu korzystać (w przeciwieństwie to takich popularnych przeglądarek jak XnView czy IrfanView).
    • 26: CommentAuthor0xF
    • CommentTime4 Jun 2018
     
    Ok, to wiele wyjaśnia.

    Sytuacja była początkowo bardzo dziwna: jesteś nowy na forum, na tej samej stronie dwa, jak twierdzisz różne, programy, ale podobnie się nazywające, w pierwszym poście rzucasz od razu linkiem do exe spakowanego UPXem. Twierdzisz, że znasz RECOIL, ale konwerter jest "Twój".

    Chętnie przeedytuję swoje posty, żeby polepszyć atmosferę. I szczerze życzę powodzenia w rozwoju projektów!
    • 27:
       
      CommentAuthorKaz
    • CommentTime4 Jun 2018
     
    Ciesze się, że sytuacja się wyjaśniła! :)

    PS. I jeszcze jedno pytanie do Prawdziwego, bo to mnie dziwi: dlaczego w programie jest (c) 2019, skoro piszesz, że to freeware? I dlaczego rok 2019?
    • 28: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018
     
    Kaz
    (C) w stopce dotyczy strony. Na każdej stronie powinno być (C) bo inaczej każdy może sobie przyjść i skopiować teksty i fotki ze strony mówiąc, że nie zastrzegłeś praw.

    Bo ja taki przyszłościowy jestem, że od razu 2019 XD
    A tak serio to źle mi się wpisało. Już poprawiłem. Dzięki za zwrócenie uwagi.

    0xF
    Cieszę się, że się zrozumieliśmy. W tym wątku nie wspominałem o tej wersji Webowej, więc nie rozumiałem skąd Twoje wątpliwości.
    Edytuję moje posty, żeby poprawić atmosferę. Co do Twojego RECOILa to jest to świetny program, chciałbym, żeby jakikolwiek mój program stał się tak rozpoznawalny i na pewno nie będę próbował sobie przywłaszczać Twojego kodu.
    Nie tylko dlatego, że przywłaszczanie kodu jest słabe, ale wiem ile to jest roboty, żeby takie formaty obsłużyć. Mam w swoim programie obsługę wielu rzadkich formatów i bardzo często miałem jedynie 1 plik przykładowy, zero dokumentacji formatu, zero programów, którymi bym mógł ten plik otworzyć i musiałem kombinować metodą prób i błędów.
    Jeżeli z jakiegoś powodu nie chcesz, żeby RECOIL działał w mojej wersji Web to powiedz i go odłączę.
    Tak przy okazji to wydaje mi się, że Recoil ma pewien błąd, ale nie jestem pewien (bo poza moim programem i Recoilem nie znam żadnego, który by czytał takie pliki).
    • 29: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018
     
    Plik .CHE
    • 30: CommentAuthor0xF
    • CommentTime4 Jun 2018
     
    Ok, biorę się za edycję moich postów. :)

    W tym wątku nie wspominałem o tej wersji Webowej

    So today I published a BETA version as a webpage


    Tak przy okazji to wydaje mi się, że Recoil ma pewien błąd

    Wygląda, że w pliku CHE jest zapisany kolor tła, a nie jest on zawsze czarny. Tego typu informacja często jest przekręcona w dokumentacji formatów C64.
    • 31:
       
      CommentAuthorKaz
    • CommentTime4 Jun 2018
     
    w stopce dotyczy strony. Na każdej stronie powinno być (C) bo inaczej każdy może sobie przyjść i skopiować teksty i fotki ze strony mówiąc, że nie zastrzegłeś praw.



    Nie jest to prawda. Polskie prawo, i nie tylko ono, nie wymusza znakowania dzieł jakimkolwiek znakiem, żeby było ono chronione. Chronione jest niezależnie od rodzaju użytego, bądź nie użytego znaczka. Nie ma zasady domyślnej możliwości korzystania z dzieła.
    • 32: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018
     
    0xF:
    Co do wersji BETA to tam jest link do tego:
    ->link<-
    To jest sam kawałek kodu do zapisywania do formatów retro. Żadnych formatów retro nie umie odczytać.

    Formaty c64 są pokrącone i faktycznie z dokumentacją jest słabo.

    Kaz:
    O, to ciekawe. Ale jednak wszyscy tak piszą w stopkach. Zresztą nie wiem co innego miałbym dać do stopki, a coś musi być, bo będzie pusto :D
    • 33: CommentAuthor0xF
    • CommentTime4 Jun 2018 zmieniony
     
    *.CHE: kolor tła jest zapisany w trzecim bajcie od końca pliku, czyli pod ofsetem 0x4fff.
    • 34: CommentAuthorPrawdziwy
    • CommentTime4 Jun 2018
     
    O, dzięki!
    • 35: CommentAuthorPrawdziwy
    • CommentTime21 Jun 2018
     
    @CharlieChaplin:
    You must really like this forum to read it in translation :)
    My viewer can now save to 70 formats. Most of them are 8bit formats but not all you mentioned earlier. But I'll keep adding more.
    As you can see from posts above we had a little misunderstanding. User 0xF thought I copied his code. I did not and it's all cleared now.
    So the .EXE is here in case you want to see what's new:
    ->link<-



    Update:
    Dodałem kilka nowych formatów odczytu, ale też prawie 70 nowych formatów zapisu. Bezpośredni link do EXE:
    ->link<-