Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Mini Photoshop w C++

#1
Mini Photoshop w C++
Witam wszystkich serdecznie!
Drodzy forumowicze mam do napisania program z dziedziny "Programowanie w środowiskach graficznych" typu mini photoshop. To programowanie obiektowe więc musi być napisany w borlandzie lub turbo C++.
Przyznam się z ręką na sercu że nie lubie programowania, gdyż moją pasją jest grafika i mam teraz poważny problem z tym programem.
Za pare dni muszę go oddać do zaliczenia, a nawet nie wiem od czego zacząć..
Pomóżcie mi.. Jestem nawet gotów zapłacić jeśli nie znajdzie się nikt komu by się chciało zrobić to za free.
Może już ktoś ma taki programik napisany i chciałby się nim podzielić..
Program ma posiadać tylko pare podstawowych funkcji graficznych, no i pewnie będe musiał po kolei wytłumaczyć poszczególne części kodu.
Będę bardzo wdzięczny za jaką kolwiek pomoc.
Pozdrawiam wszystkich! pa
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#2
RE: Mini Photoshop w C++
SzczerbolSzczerbolSzczerbol Może uproszczona wersja painta? Szczerbol (C++)
Na takiej jednej stronce miałem ładnie napisane... no ale....
Kod:
#include <windows.h>


static TCHAR app[] = TEXT( "prosty Paint" );
HINSTANCE hInstance;


LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{
        bool wcisniety = false;
  
        switch (uMsg)
        {
          
    case WM_LBUTTONDOWN:
{
wcisniety = true;
SendMessage(hWnd, WM_MOUSEMOVE, wParam, lParam);
}
break;
   case WM_LBUTTONUP:
wcisniety = false;
break;
   case WM_MOUSEMOVE:
   if(wcisniety)
   {
   HDC hdc = GetDC(hWnd);
   SetPixel(hdc, LOWORD(lParam), HIWORD(lParam), RGB(0,200,0));
   ReleaseDC(hWnd, hdc);
  }
  break;

        case WM_DESTROY:
                PostQuitMessage( 0 );
                return FALSE;
        }

        return DefWindowProc( hWnd, uMsg, wParam, lParam );
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{

        MSG       msg;
        WNDCLASS     wndclass;
        HWND      hWnd;

        wndclass.style         = CS_HREDRAW | CS_VREDRAW;
        wndclass.lpfnWndProc     = MainWndProc;
        wndclass.cbClsExtra     = 0;
        wndclass.cbWndExtra     = 0;
        wndclass.hInstance         = hInstance;
        wndclass.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
        wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);
        wndclass.hbrBackground     = (HBRUSH)COLOR_WINDOW;
        wndclass.lpszMenuName     = NULL;
        wndclass.lpszClassName     = app;

        if(RegisterClass(&wndclass) == 0)

                return FALSE;

        hWnd = CreateWindow(app, app,
                WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
                CW_USEDEFAULT, CW_USEDEFAULT,
                CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);

        if(hWnd == NULL)
                return FALSE;

        ShowWindow(hWnd, SW_SHOW);
        UpdateWindow(hWnd);

        while(GetMessage(&msg, NULL, 0, 0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }

        return msg.wParam;
}
Tyle, że zmienną 'wcisniety' zadeklaruj globalnie;
[Obrazek: 9989.jpg]
Nowy hit przemysłu gier: http://yfrog.com/16hitvqj
#define private public //beware, classes, I'm coming! LOL
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: Mini Photoshop w C++
Kurde dlaczego takich ludzi jak Ty nie ma na innych forachWesoły
Ta praca jest na zaliczenie semestru więc musi spełniać odpowiednie kryteriaWesoły
To że aplikacja okienkowa to już napisałem, ale dokładniej mówiąc ona ma przerabiać wybraną z zewnątrz grafike, np zdjęcie.
zmieniać jej rozmiar, kolorystyke, ostrość itp
Jakieś filtry też powinna posiadać.. Jak na moją wiedzę z tej dziedziny to masakra..
Dziękuję za szybką odpowiedź.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#4
RE: Mini Photoshop w C++
Wybacz, że to powiem, ale nie jesteś chyba do końca poważny. Przekształcenia, które wymieniłeś nie biorą się z "czegoś tam", tylko z obliczeń, czasami bardzo skomplikowanych. W takim programie wszystko bazuje na algorytmach. Nie licz, że ktoś ci to napisze w ciągi kilku dni "za friko", bo to robota na tygodnie.

Poza tym opisz dokładnie co chcesz uzyskać. Nie jakaś tam wizja, tylko konkrety, bo wszystko bardzo uogólniłeś.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#5
RE: Mini Photoshop w C++
Przeczytaj najpierw mojego pierwszego posta a potem odpisuj na reszte.
Jestem poważny i wiem że napisanie takiego programu to nie jest na pare minut pracy. Głównie mam nadzieję że już ktoś taki program napisał i ewentualnie chciał by się nim podzielić lub ewentualnie odsprzedać, bo nie ma nic za darmo, szczególnie jeśli trzeba w to włożyć dużo wysiłku.
Z całym szacunkiem do Ciebie chciałbym Ci uświadomić a raczej wyjaśnić że wiem ile pracy trzeba na napisanie takiego programu i wiem, że nikomu raczej za darmo nie chciało by się tego pisać (no chyba że jakiemuś zapalonemu miłośnikowi programowania).
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#6
RE: Mini Photoshop w C++
Skoro nie masz pomysłu co tam zaimplementować to proponuję pobawić się programami IrfanView oraz ImageJ i zobaczyć co tam mają.
Zobacz co się stanie jeśli do danego piksela (wszystkich składowaych) dodasz stałą, odejmiesz stałą, przemnożysz przez pewien współczynnik lub podzielisz przez pewien współczynnik. Poza tym filtrowanie:
http://www.algorytm.org/index.php?option...f757f6f639
W zasadzie sprowadzi się to do sprawnego posługiwania się tablicą dwuwymiarową (czy też nawet 1-wymiarową) - filtrów wymyślać nie musisz, parę masz podanych w linku wyżej.
Ponadto warto zapoznać się jeszcze z tym:
http://darkcult.gamedev.pl/kursy/apigraf.html
i tym:
http://darkcult.gamedev.pl/kursy/apibmp.html
Ewentualnie jeszcze tak możesz na piechotę wgrywać bitmapy:
http://darkcult.gamedev.pl/kursy/apibmp.html
Przyda się jeszcze to:
http://msdn.microsoft.com/en-us/library/...S.85).aspx
i funkcja GetDIBits
Ma początek proponowałbym opanowanie tworzenia głównego okna aplikacji, ładowania bitmapy z pliku, ewentualnie jej kopiowania do bufora dwuwymiarowego (GetDIBits), no chyba, że chcesz działać na funkcjach GetPixel i SetPixel - jednak mogą być dość powolne.
To tak na szybko z google...
Nie odpowiadam w tematach z działu 'Bezpieczeństwo', w których brakuje pełnego zestawu logów:
http://forum.pcformat.pl/WAZNE-Jak-zaloz...ec-WAZNE-t
Jeżeli prowadziłem wątek i w nim nie odpowiadam przez 3 dni-proszę o przypomnienie na PW.
Nie pomagam na PW.
Prośba o przetestowanie aplikacji: http://forum.pcformat.pl/Prosba-o-przete...L-OpenGL-t
 System operacyjny: windows_xp_2003 Przeglądarka: seamonkey
#7
RE: Mini Photoshop w C++
Program okna ładującego bitmape niedługo będę miał.
Pozostaje mi tylko ta najistotniejsza część programu odpowiadająca za edycje bitmapy. Dziękuje za dotychczasowe wskazówki i czekam na następneWesoły
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#8
RE: Mini Photoshop w C++
Witam ponownie.
Poniżej podaje link gdzie umieściłem część programu w postaci okien wczytujących bitmape oraz 3 proste funkcje które ją edytują..
To troszkę za mało na zaliczenie a więc liczę na waszą pomoc.
Może komuś innemu ta część programu się przyda, więc bez większych przeszkód może już sobie ją ściągnąć..
Dziękuje za wszelką pomoc.

http://odsiebie.com/pokaz/1451439---8c9f.html
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#9
RE: Mini Photoshop w C++
Wznawiam wątek
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
mini paint c++

Skocz do:


Wybrane wątki (Mini Photoshop w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Nauka do Olimpiady Informatycznej? piotr0905 1 9153 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 9138 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 11182 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4471 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 10407 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 10682 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 10370 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 10020 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 9129 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 12768 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 9623 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 10057 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 11533 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 10361 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 11160 27.01.2019 13:44
Ostatni post: rafal12999