Cięcie pliku graficznego według transparent png |
Cięcie pliku graficznego według transparent png |
4.12.2018, 15:28:38
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 |
|
|
4.12.2018, 15:31:32
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
znasz polozenie tych kwadratow na obrazku? Jak tak to raczej zwykle GD z php ci wystarczy
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.12.2018, 15:39:42
Post
#3
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) |
Problem własnie w tym że nie znam ich położenia tzn mogą się zmieniać, czasem jest ich mniej czasem więcej. Co więcej elementy są różnej wielkości.
Ten post edytował KotWButach 4.12.2018, 15:41:48 |
|
|
4.12.2018, 16:57:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Te kwadraty w pliku PNG są jeden po drugim, czy może być również kilka w rzędzie?
-------------------- |
|
|
4.12.2018, 22:01:55
Post
#5
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) |
Może być kilka w rzędzie . Takie puzzle
|
|
|
4.12.2018, 22:21:55
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 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). -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:50 |