Forum MOJA PASJA - PROGRAMOWANIE Strona Główna
http://www.programuj.com
  WikiWiki  FAQFAQ    SzukajSzukaj    UżytkownicyUżytkownicy    GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 




Dostęp do pikseli obrazka w JPG


 
Napisz nowy temat   Odpowiedz do tematu    Forum MOJA PASJA - PROGRAMOWANIE Strona Główna -> WinAPI
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
sator



Dołączył: 27 Sie 2007
Posty: 3

Post Zacytuj zaznaczone Odpowiedz z cytatem OCEŃ POST
Jak to zrobić w C++ i WinApi (ostatecznie w MFC):

1. Po wczytaniu z pliku obrazka w formacie JPG (lub PNG, GIF), np. przez OleLoadPicture() - odczytać kolejne piksele z tego obrazka, tzn. skopiować sobie wartości kolorów do swojej tablicy.
Czy muszę tworzyć bitmapę i kopiować do niej wczytany obraz przez Render() albo BitBlt() i jak to zrobić?

2. Utworzyć bitmapę na podstawie mojej tablicy pikseli i zapisać ją do pliku.
Jak się tworzy bitmapę, jak kopiować do niej i odczytać z niej kolejne piksele?
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Albert Rosenfield
programista


Dołączył: 26 Kwi 2007
Posty: 2418
Skąd: olsztyn

Post Zacytuj zaznaczone Odpowiedz z cytatem OCEŃ POST
  1. Nie rozumiem. Po co Ci dostęp do wartości pikseli, jeśli skopiowanie wczytanego obrazka spokojnie zrealizujesz metodą IPicture::Render?

  2. CreateBitmap.
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
sator



Dołączył: 27 Sie 2007
Posty: 3

Post Zacytuj zaznaczone Odpowiedz z cytatem OCEŃ POST
Chcę załadować piksele obrazka JPG do własnej tablicy (w celu poszukiwaniu twarzy na zdjęciu). Jak to zrobić szybko bez dodatkowych bibliotek i tworzenia bitmap. Bezpośredni szybki dostęp/skopiowanie pikseli.
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Albert Rosenfield
programista


Dołączył: 26 Kwi 2007
Posty: 2418
Skąd: olsztyn

Post Zacytuj zaznaczone Odpowiedz z cytatem OCEŃ POST
W takim razie użyj funkcji GetDIBits (IPicture::get_Handle + IPicture::get_CurDC), która skopiuje wartości pikseli to Twojej tablicy.

Jeśli chodzi o operację w drugą stronę, to dwie funkcje mogą Cię zainteresować: SetDIBits i SetDIBitsToDevice.
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum MOJA PASJA - PROGRAMOWANIE Strona Główna -> WinAPI Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


hosting sponsorowany przez hosted.pl
Powered by phpBB © 2001, 2002 phpBB Group