2009-05-28 11 views
5

Piszę aplikację, aby wysłać kilka zdjęć do strony trzeciej, a obrazy muszą mieć rozdzielczość 200 x 200 DPI. Obraz jest bitmapą i ma wymiary 500 szerokości i 250 wysokości.Ustawianie obrazu DPI w odniesieniu do wysokości/szerokości C#

Po raz pierwszy przetestowałem obrazy u strony trzeciej, moja rozdzielczość była niepoprawna. Użyłem tylko image.SetResolution(200,200), aby poprawnie ustawić go na 200x200. Zmieniło to jednak tylko znacznik rozdzielczości obrazu i nie poprawiło się, zgodnie z kontaktem technicznym osoby trzeciej, dostosuj wysokość i szerokość obrazu.

Czy istnieje stosunek, którego mogę użyć, aby dla każdej jednostki X zwiększać rozdzielczość, po prostu zwiększałem odpowiednią wysokość lub szerokość jednostek Y? Myślałem, że mogę po prostu zwiększyć rozdzielczość bez konieczności zwiększania wysokości lub szerokości.

Dziękuję, Aaron.

+5

dpi dla zdjęć to moja ulubiona strona, ponieważ jest to zmyślna rzecz. Obrazy to tylko 2-d tablica pikseli. Dowolna tablica pikseli może być wyświetlana w dowolnej rozdzielczości, a udawanie, że obraz jest utrwalony przy jednej konkretnej dpi, jest głupie. Wątpię jednak, aby zaakceptowała to twoja "strona trzecia", więc po prostu zostawię to jako komentarz. –

Odpowiedz

11

Obraz zapisany cyfrowo nie ma znaczącej koncepcji DPI. DPI wchodzi w grę podczas odtwarzania obrazu na urządzeniu fizycznym.

Należy dostosować rozmiar obrazu w odniesieniu do DPI fizycznego urządzenia i żądanego rozmiaru wyjścia w tym urządzeniu.

Na przykład, jeśli drukarka mówi, że potrzebuje obrazu o rozdzielczości 300 dpi, aby wypełnić przestrzeń o wymiarach 4 cale x 4 cale, wówczas należy podać bitmapę o rozmiarze 1200 x 1200 pikseli. Ten obraz zakończyłby się fizycznym rozmiarem 4 cali x 4 cale na urządzeniu wyjściowym 300 dpi. Na urządzeniu 600dpi ten sam obraz miałby rozmiar wyjściowy 2 cale x 2 cale.

+0

Dziękuję bardzo. Wierzę, że rozwiąże to mój problem. – Aaron

+0

Nie ma za co. :) –

+4

Powyższa odpowiedź w formie równania: imgWidthPixels = dpiWidth * outputWidthInches imgHeightPixels = dpiHeight * outputHeightInches –

0

W przypadku obrazów cyfrowych zwykle odnoszą się one do PPI, czyli pikseli na cal. DPI nie jest bezpośrednio związany z rozdzielczością obrazu cyfrowego.

Jeśli więc spojrzysz na obraz o wielkości 200 na 200 pikseli na 200PPI, otrzymasz obraz o wymiarach 1 cal na 1 cal.

Powiązane problemy