Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Cięcie pliku graficznego według transparent png
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

Ostrzeżenie: (0%)
-----


Mam do was wielką prośbę, czy ktoś orientuje się czego szukać, użyć do napisania skryptu, który wziąłby plik PNG np taki: gdzie byłoby kilka kwadratów z jakąś zawartością i puste miejsce miedzy nimi czyli przezroczystość. I pociepło plik tak by każdy kwadrat stał się oddzielnym plikiem JPG lub PNG. Czyli

PLIK PNG
-------------------------------------------------

KWADRAT1
KWADRAT3

KWADRAT2
-------------------------------------------------

REZULTAT
PLIK JPG
KWADRAT1
PLIK JPG
KWADRAT2
PLIK JPG
KWADRAT3
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Zrobiłbym to tak:
- skanujesz obraz liniami poziomymi,
- jeśli natrafisz na nieprzezroczysty punkt, to zapisujesz (x1,y1),
- skanujesz dalej, jeśli natrafisz na przezroczysty lub koniec, to zapisujesz (x2),
- teraz lecisz od x2 w dół,
- jeśli trafisz na przezroczysty lub koniec, to zapisujesz (y2),
- w tym momencie masz jeden nieprzezroczysty obszar (x1,y1,x2,y2),
- zapisujesz ten wycinek i czyścisz fragment,
- teraz lecisz znów od punktu 0,0.

Nie jest to optymalny algorytm, ale uwalnia Cię od problemów kiedy skanując kolejne linie natrafisz na nieprzezroczyste obszary, które są fragmentami, które zaczęły się wyżej (np. na lewo jest niski obszar, a obok niego wysoki, więc skanując pod niskim trafisz na drugą połowę tego wysokiego).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 03:54