Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Masowa zmiana jakości zdjęć jpg
Fifi209
post 23.06.2011, 01:44:53
Post #1





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Witam, od pewnego czasu zabierałem się za napisanie programu, który w łatwy sposób umożliwi mi masową zmianę jakości zdjęć.

Działać ma to tak:
Wybieramy katalog, wybieramy zdjęcia które nas interesują, klikamy pomniejsz i chwilkę czekamy.

Wielu ludzi nawet nie zdaje sobie sprawy, że nie trzeba zmienić rozmiaru zdjęcia, aby zajmowało mniej, wystarczy zapisać w troszkę gorszej jakości (praktycznie niezauważalne dla oka)

Szukałem narzędzia, które byłoby proste i spełniało dokładnie tą jedną funkcję - nie znalazłem.
Napisałem więc swój program, który Wam przedstawię.

Wersja: 1.5.0.0
Autor: Fifi209
Platforma: .NET Framework 4
Nazwa: ImageEditor
Link: http://fifi209.pl/ImageEditor.rar

Proszę o skromne opinie, ew. jakieś rady co zmienić/poprawić.

@edit
Link poprawiony, teraz powinno działać.

Ten post edytował Fifi209 23.06.2011, 12:20:35


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Blame
post 23.06.2011, 09:36:01
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Niestety program nie chce mi się połączyć z serwerem i pobrać pliki wink.gif
Tak w ciemno tylko powiem, że oprócz samego zmniejszania wagi zdjęć mógłby też je zmniejszać do podanych maksymalnych wymiarów wink.gif


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 09:46:15
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Blame @ 23.06.2011, 10:36:01 ) *
Niestety program nie chce mi się połączyć z serwerem i pobrać pliki wink.gif

Przy instalacji?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Cypherq
post 23.06.2011, 11:01:22
Post #4





Grupa: Zarejestrowani
Postów: 181
Pomógł: 9
Dołączył: 28.08.2006
Skąd: Katowice

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


Kod
PLATFORM VERSION INFO
    Windows             : 5.1.2600.196608 (Win32NT)
    Common Language Runtime     : 4.0.30319.225
    System.Deployment.dll         : 4.0.30319.1 (RTMRel.030319-0100)
    clr.dll             : 4.0.30319.225 (RTMGDR.030319-2200)
    dfdll.dll             : 4.0.30319.1 (RTMRel.030319-0100)
    dfshim.dll             : 4.0.31106.0 (Main.031106-0000)

SOURCES
    Deployment url            : file:///D:/download/ImageEditor.application

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of D:\download\ImageEditor.application resulted in exception. Following failure messages were detected:
        + Downloading file:///D:/download/ImageEditor.application did not succeed.
        + Could not find file 'D:\download\ImageEditor.application'.
        + Could not find file 'D:\download\ImageEditor.application'.
        + Could not find file 'D:\download\ImageEditor.application'.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [2011-06-23 11:59:28] : Activation of D:\download\ImageEditor.application has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [2011-06-23 11:59:33] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
        - Downloading file:///D:/download/ImageEditor.application did not succeed.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
            at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
            at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
            at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBy
pass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
            at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
        --- Inner Exception ---
        System.Net.WebException
        - Could not find file 'D:\download\ImageEditor.application'.
        - Source: System
        - Stack trace:
            at System.Net.FileWebRequest.EndGetResponse(IAsyncResult asyncResult)
            at System.Net.FileWebRequest.GetResponse()
            at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
        --- Inner Exception ---
        System.Net.WebException
        - Could not find file 'D:\download\ImageEditor.application'.
        - Source: System
        - Stack trace:
            at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
            at System.Net.FileWebRequest.GetResponseCallback(Object state)
        --- Inner Exception ---
        System.IO.FileNotFoundException
        - Could not find file 'D:\download\ImageEditor.application'.
        - Source: mscorlib
        - Stack trace:
            at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
            at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
            at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
            at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
            at System.Net.FileWebStream..ctor(FileWebRequest request, String path, FileMode mode, FileAccess access, FileShare sharing, Int32 length, Boolean async)
            at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.


--------------------
"Zero 'errorów' nic nie oznacza. Walidator sprawdza tylko składnię. Kod strony jest jak psu z d**y wyjęty i to, że walidator świeci się na zielono nie oznacza, że ta kupa jest ładna" - mike
Go to the top of the page
+Quote Post
uupah5
post 23.06.2011, 11:40:18
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 4.09.2010
Skąd: warszawa

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


Cytat(Fifi209 @ 23.06.2011, 02:44:53 ) *
Witam, od pewnego czasu zabierałem się za napisanie programu, który w łatwy sposób umożliwi mi masową zmianę jakości zdjęć.
Szukałem narzędzia, które byłoby proste i spełniało dokładnie tą jedną funkcję - nie znalazłem.

ImageMagick - czego mu brakuje?
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 11:56:35
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(uupah5 @ 23.06.2011, 12:40:18 ) *
ImageMagick - czego mu brakuje?

Jest to biblioteka PHP o ile dobrze pamiętam. wink.gif

@edit
Problem projektu postaram się szybko rozwiązać i wrzucę na nowo.

@edit2
Poprawiłem link, teraz powinno działać wszystko. ;]

Ten post edytował Fifi209 23.06.2011, 12:20:20


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Cypherq
post 23.06.2011, 13:11:07
Post #7





Grupa: Zarejestrowani
Postów: 181
Pomógł: 9
Dołączył: 28.08.2006
Skąd: Katowice

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


Źle pamiętasz, biblioteka ImageMagick daje chyba tylko dostęp do API zainstalowanego wcześniej zestawu.


--------------------
"Zero 'errorów' nic nie oznacza. Walidator sprawdza tylko składnię. Kod strony jest jak psu z d**y wyjęty i to, że walidator świeci się na zielono nie oznacza, że ta kupa jest ładna" - mike
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 13:22:44
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie zmienia to faktu, że jako biblioteka PHP występuje - więc pamiętam dobrze.

Poza tym, jakbym miał to zrobić za pomocą samego ImageMagick?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
thek
post 23.06.2011, 14:11:31
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ech fifi... Programy desktopowe bez problemu robią to co opisujesz, wystarczy tylko nieco poczytać dokumentację. Ja robię to od lat w darmowym IrfanView. Opcja Batch lub skrótem B i pogrzebanie w opcjach Zaawansowanych: zmienia nazwy (według wzorca), kolorystykę, kompresję, crop i masę innych. Wszystko w trybie wsadowym.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 14:13:42
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


thek, nie chciałem kombajnu, nie chciałem konsoli, nie chciałem php, miało być prosto dla laika (np. moja dziewczyna, mama)


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
thek
post 23.06.2011, 14:40:49
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W irfanie to jest naprawdę proste. Same wyklikiwanie lub suwakami zabawa. Zresztą sam zobacz. Jeśli używają już jakiejś przeglądarki obrazków to zerknij czy nie ma ona też tej opcji. Jeśli znają już interfejs to na bank szybko załapią co i jak. W sumie w Irfanie to kilka kliknięć:
B -> Wybrać fotki -> Wybrać katalog wynikowy -> Wybrać format wyjściowy i w zaawansowanych stopień kompresji lub jakość -> Start

Walnąć nawet i 1000 fotek sobie mogą oraz iść zrobić kawę. Nawet pokazanie im co i jak to góra minutka lub dwie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
kilab
post 23.06.2011, 14:52:25
Post #12





Grupa: Zarejestrowani
Postów: 180
Pomógł: 19
Dołączył: 4.11.2007

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


@thek, chciałbym wykorzystać temat i poruszyć kwestię jakości obrazów wynikowych przy przetwarzaniu wsadowym w Irfanie.
Miniaturka utworzona ręcznie (zmień rozmiar):

Miniaturka utworzona przy przetwarzaniu wsadowym:


Jak widać, drugi obraz jest jakby poszarpany. Pytanie dlaczego? W obu przypadkach używałem takiej samej kompresji. wstydnis.gif


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 14:52:28
Post #13





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


thek temat sprowadził się nie do oceny a do offtopicu na temat jak to można załatwić inaczej - nie to miałem na celu.

Tutaj też mam prosty interfejs, jest tylko to co potrzebne, nie trzeba instrukcji obsługi ani nawet 2 minut na tłumaczenie. Wybierasz katalog, zaznaczasz co chcesz, klikasz pomniejsz i idziesz zrobić kawę.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
elektrrrus
post 23.06.2011, 15:04:59
Post #14





Grupa: Zarejestrowani
Postów: 175
Pomógł: 18
Dołączył: 11.06.2007
Skąd: Koszalin/Poznań

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


Lepszą jakość subiektywnie oczwyiście oferuje xnview. Równie prostszy jak nie prostszy w obsłudze.
Go to the top of the page
+Quote Post
Cypherq
post 23.06.2011, 17:27:06
Post #15





Grupa: Zarejestrowani
Postów: 181
Pomógł: 9
Dołączył: 28.08.2006
Skąd: Katowice

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


Cytat(Fifi209 @ 23.06.2011, 14:22:44 ) *
Nie zmienia to faktu, że jako biblioteka PHP występuje - więc pamiętam dobrze.

Poza tym, jakbym miał to zrobić za pomocą samego ImageMagick?


Nie chcę sie kłócić z kolegą z tego samego miasta, ale biblioteka ImageMagick dla PHP jest tylko interfejsem, który korzysta z samego pakietu i bez niego nic nie zrobi. Nie występuje jako biblioteka do PHP tylko PHP ma bibliotekę, która pozwala jej uzywać smile.gif

IrfanView to była moja pierwsza myśl Thek, ale mimo wszystko nie uznałbym poprawiania w nim zdjęć za proste dla komputerowego lajka.


--------------------
"Zero 'errorów' nic nie oznacza. Walidator sprawdza tylko składnię. Kod strony jest jak psu z d**y wyjęty i to, że walidator świeci się na zielono nie oznacza, że ta kupa jest ładna" - mike
Go to the top of the page
+Quote Post
Fifi209
post 23.06.2011, 19:15:57
Post #16





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Dwa posty wyżej prosiłem o skończenie offtopicu i zajęcie się "oceną" bo w takim dziale jesteśmy.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post 24.06.2011, 12:40:56
Post #17





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Poza tym, jakbym miał to zrobić za pomocą samego ImageMagick?

O, ktoś tu chyba nie zorientował się wcześniej w temacie? wink.gif Z poziomu mogrify/convert jesteś w stanie zdziałać cuda. wink.gif A dużo łatwiej jest zrobić nakładkę niż pisać coś od zera. wink.gif

Co do opinii:
  • dlaczego .net?
  • dlaczego tylko "przeglądaj" i "konwertuj"?


Nie wynajduj koła na nowo. wink.gif Zrób plik wsadowy z poleceniami dla ImageMagick i wyjdzie to samo. Ba, nawet prościej, bo jeśli prawidłowo parametry skonstruujesz, to wystarczy jedynie przeciągnąć obrazki na ikonkę pliku wsadowego.

podzielone: Temat: flame NET


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 12:00