Wycinanie obszarów o zdefiniowanej wielkości z bitmap


(B Jaromij) #1

Witam.

Mój problem jest następujący:

Dysponuję plikami zawierającymi skany książek zapisane jako "rozkładówki", to znaczy dwie sąsiadujące ze sobą strony w jednym pliku. Chcę podzielić każdy z tych plików na dwa oddzielne pliki, z których każdy zawierałby "wyciętą" pojedynczą stronę. Zależy mi również na tym, aby każdy z otrzymanych "jednostronnicowych" plików wynikowych miał dokładnie takie same wymiary wyrażone w pikselach.

Z pozoru sprawa jest prosta: wystarczy wczytać plik do dowolnego edytora graficznego, zaznaczyć obszar, użyć funkcji "trim" i zapisać do pliku. Niestety tu zaczynają się "schody". W większości znanych mi edytorów zaznaczanie odbywa się przez przeciągnięcie myszką zaznaczanego obszaru. Zaznaczając w ten sposób trudno "trafić" w założony wymiar (nawet nieznaczne drgnięcie ręki powoduje zmianę wielkości obszaru o kilka pikseli), a nawet jeśli się to uda, to okazuje się, że zaznaczenie jest niesymetryczne w stosunku do bloku tekstu. Niestety większość edytorów graficznych nie umożliwia przemieszczania poprzednio zaznaczonego obszaru, a każda kolejna akcja anuluje poprzednie zaznaczenie i powoduje rozpoczęcie procesu zaznaczania od początku. Udało mi się co prawda znaleźć jeden program, który częściowo zaspakaja moje potrzeby (PhotoFiltre 7), niestety po każdorazowym wczytaniu kolejnej bitmapy traci on wpisane poprzednio parametry obszaru zaznaczania.

Dlatego zależy mi na programie, który by umożliwiał:

  1. Zdefiniowanie wymiarów obszaru zaznaczenia (najlepiej w pikselach) i pamiętałby wprowadzoną definicję niezależnie od wykonywanych akcji (a w szczególności od wczytania kolejnej bitmapy).

  2. Pozycjonowanie zdefiniowanego obszaru zaznaczenia (najlepiej przy pomocy myszki).

  3. Albo zapisanie zaznaczonego obszaru jako pliku na dysk (najlepiej), albo wycięcie wszystkiego, co znajduje się poza zaznaczonym obszarem (a następnie zapisanie tak zmodyfikowanej mapy bitowej z nową nazwą).

Uprzedzając ewentualne sugestie co do automatyzacji powyższego zadania stwierdzam, że jest to niemożliwe ze względu na duże wzajemne przesunięcia w poszczególnych plikach.

Z góry dziękuję za wszelkie ewentualne sugestie co do sposobu rozwiązania mojego problemu, a w szczególności za wskazanie programu, który spełniałby moje wymagania.

Pozdrawiam,

Bogusław Jaromij


(Pampali) #2

Metoda powinna działać w każdym edytorze obsługującym warstwy, na 100% tak to działa w Photoshopie:

  1. Tworzysz nowy plik (pusty) o zdefiniowanym rozmiarze. Mniej więcej powinieneś wiedzieć już jakie wymiary chcesz uzyskać.

  2. Otwierasz plik źródłowy

  3. CTRL+A zaznaczasz cały obszar. CTRL+C kopiujesz.

  4. Przechodzisz do wcześniej utworzonego pliku i wklejasz CTRL+V

  5. Myszką ustawiasz nową warstwę tak aby widoczny był wymagany fragment.

  6. Jeśli potrzebujesz nieco dopasować rozmiar wklejanego pliku to wybierasz Edit>Free transform i chwytając za węzły ustawiasz fokus tak żeby pasował do ustawionych w pierwszym kroku rozmiarów.

  7. Zapisujesz File>save for web...

  8. Przesuwasz wklejoną warstwę tak żeby widoczna była druga strona i znowu zapisujesz.

  9. Wracasz do punkt 2


(B Jaromij) #3

Dzięki za odpowiedź.

Niestety, na Photoshopa mnie nie stać, a nawet gdyby mnie było stać (jako informatyk mógłbym go sobie "kupić" bez większych problemów :wink: ) to przyznam, że nie lubię strzelać z armaty do wróbli.

Dlatego przede wszystkim poszukuję jakiegoś w miarę prostego narzędzia (najchętniej freeware).

Oczywiście, jeśli takowe się nie znajdzie, to zmuszony będę skorzystać z armaty.

W każdym bądź razie serdeczne dzięki za podanie procedury.

Może w "Gimp-ie" byłoby to możliwe do uzyskania w jakiś prosty sposób?

Ponieważ jednak moja znajomość programów do obróbki grafik nie wykracza poza poziom nawet nie podstawowy, a przedszkolny, to może jakiś guru Gimp-a mógłby zabrać głos w tej sprawie?

Chciałbym jeszcze raz powtórzyć, iż zależy mi na narzędziu, które umożliwiłoby mi wykonanie zaplanowanego zadania w jak najprostszy sposób (przy konieczności obrobienia kilkuset plików każdy dodatkowy krok boli, i to bardzo)

Pozdrawiam,

Bogusław


(=Bogdan=) #4

IrfanView powinien spełnić wszystkie stawiane przez ciebie wymagania :smiley:


(Pampali) #5

Nie pisałem ze to musi być Photoshop

spróbuj darmowego paint.net