Omega Napisano Wrzesień 1, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 1, 2018 UWAGA! Musze przyznac sie do bledu. Moja biblioteka jpg.dll nie wymiata do konca pamieci . Dlatego zakasuje rekawy i ja poprawiam. Jest to kwestia 2 dni (jednak tydzien i tez inne sprawy na glowie). Dodatkowo (dostalem zezwolenie od bialego) dorzuce biblioteke obslugujaca format tiff. :) Nie wiem co mysli o tym bialy, ale mam mozliwosc dodac format: *.png *.pcx Dodatkowo mam modol obslugujacy jpeg 2000. Ale w c++. Dlatego zrodla moglbym dostarczyc dla kogos, kto by sie tym zajął. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Wrzesień 1, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 1, 2018 No dobra. Udalo mi sie to zrobic dosc szybko. Dorzucilem zmieniona biblioteke jpg.dll i dodalem obsluge tifa (tiff.dll) z przykladem (ciekawe zdiecie). Bibioteki i dokladny opis na ftp 8) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Quad Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 Przykro mi, ale nie będę miał dzisiaj wieczorem czasu, więc nie mogę wziąć udziału w spotkaniu na mIRC'u (nad czym ubolewam ;-D). Przedstawię jednak swoją wizję "mojego" modułu (chyba jak do tej pory), a biały mam nadzieję już wszystko dalej ustali. Więc zaczynając od początku: Ja bym to widział tak: 1. Chciałbym otrzymać 2 wymiarową tablicę (tą z czcionkami - chyba od piasia?) do której odwoływał bym się tak: tablica[numer_znaku][numer_pixela] i dwie zmienne - x - ilość znaków w czcionce - czyli maksymalną wartość parametru numer_znaku, oraz ilość pixeli na znak, czyli maksymalną wartość parametru numer_pixel'a. 2. Od kogoś tam znowu (sorki, ale tak się to szybko zmienia, że nie wiem od kogo ;-D), chciałbym otrzymać HBITMAP jako uchwyt do bitmapy tylko z dwoma kolorkami (czarno - białej), która by była tym obrazkiem wybranym do konwersji(przez użytkownika), i ew. od razu jej szerokość i wysokość. Teraz dzielił bym sobie tą bitmapę z HBITAMAP na kwadraty wielkości jednego znaku czcionki(to od piasia), i każdy kwadrat skanował tak: 1. Porównuje ile pixeli czarnych znajduje się w takich samych pozycjach na obrazku z HBITMAP jak w pierwszym znaku czcionki. 2. Analogicznie dla drugiego i pozostałych znaków czcionki. 3. Przechodzę do analizowania kolejnego kwadratu. Jak wspomniał biały, jest to trochę brutalforce (dla każdego kwadratu było by to szerokość_w_pixelach*wysokość_w_pixelach*ilość_znaków_w_czcionce operacji porównywania), ale ponieważ będzie się to odbywało po części na tablicy (do której dostęp jest szybszy niż z GetPixel) i można by rozdzielić to na kilka wątków, mam nadzieję że czas wykonania będzie umiarkowanie niski... Nie wiem w końcu czy to ja dostanę ten moduł, ale jeżeli tak, to będzie potrzebna "optymalizacja" jego wspólnymi siłami, ponieważ będzie to prawdopodobnie najdłużej wykonujący się i najbardziej ważny moduł programu. Na razie program będzie zaznaczał raczej kształty brył, ale proponuję ukończyć wersję alfa naszego Konwerter'a ASCII (jeszcze trzeba dla niego wymyślić nazwę) i dopiero potem rozbudować go do np. rozpoznawania 16 odcieni szarości.... Biały, oddaję się w twoje ręce.... ;-) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Generał Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 heh widze ze wsyzscy pracują na pełnych obrotach. A u mnie zastój. Niestety wszystkie opisy foramtu gif jakie dotarły w moje ręce nie oddają w 100% tego jak wygląda plik gif pod hexedytorem. Tak wiec mecze sie i szukam...jakby ktoś znalazł poprawną specyfikację to byłbym wdzięczny...narka...szukam dalej..co do obecności na Ircu to nie wiem czy jestem wymagany..teoretycznie mogłbym sie pojawić...ale nie powiedzialbym więcej niż to co napisałem... EDIT: dobra już doszedłem o co chodzi...przegapiłem mały fragmencik i tak wyszło :) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 x - iosc znaków w czcionce. Kurde naarzie nie mam pomyslu jak sparawdzic ile jest znaków w czcionce. Ale tak sobie orientacyjnie je policzylem i widze ze np w Courier jest 222 znaków a w Courier New jest 1227. Ja w tym momecie sie lekko pogubilem. Popatrzylem potem na te znaki powyzej 256 i widze tam ajkies dzwine krzaczki. Wiec nierozumei po co komu te dziwne krzaczki. Wedlug mnie kazda czcionka ma 256 znaków tylko ze niektore znaki poprostu sa puste i tyle. Wiec nie widze sesnu podawania ilosci znakow w czcionce. Dalej. To ja mam rozumiec ze mam ci podoca ilosc pixeli na znak, czyli: ilosc_pixeli_na_znak = wysokosc_znaku_w_pixelach*szerkosc_znaku_w_pixelach oraz tablice dwuwymiarowa w postaci: tab[256][ilosc_pixeli_na_znak] ??? //edit co do mojej czesci to za wiele czasu dzisiaj nie mialem bo cwiczylem inne rzeczy w winapi i zrobilem tylko wyliczenie czcionek o stalej szerokosci znaków. U mnieto sa czcionki: Terminal Fixedsys Courier Courier New Lucida Console Dzisiaj na spotkaniu mnie nie bedzie bo chce mi sie spac :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Quad Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 Wiec nierozumei po co komu te dziwne krzaczki. Wedlug mnie kazda czcionka ma 256 znaków tylko ze niektore znaki poprostu sa puste i tyle. Wiec nie widze sesnu podawania ilosci znakow w czcionce. Chyba możemy zostać przy 256.... Dalej. To ja mam rozumiec ze mam ci podoca ilosc pixeli na znak, czyli: ilosc_pixeli_na_znak = wysokosc_znaku_w_pixelach*szerkosc_znaku_w_pixelach Fakt, jeżeli podasz mi wysokość i szerokość znaku, to ilość pixeli nie jest potrzebna... oraz tablice dwuwymiarowa w postaci: tab[256][ilosc_pixeli_na_znak] ??? Owszem. Ta tablica ma być wypełniana np. tak tab[1][numer_pixel'a] = 1 (jeżelli ma kolor czarny), a np. tab[3][numer_pixel'a] = 0 jeżeli 3 znak w czcionce, zawiera pixel o numerze numer_pixel'a w kolorze białym.... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 I te pixele bede noumerowal w ten sposob ze bede najpierw zapisywal pixele od lewej z pierwszego wiersza az w dol - zeby potem nie wyszlo jakso źle :D: 1, 2, 3, 4, 5, 6, 7, 8 9,10,11,12.... A co do tablicy zz cieniami to jeszcze nad tym mysle dokladnie , ciezka sparwa -tyle mozliwosci ale mzoe cos skleje :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 Do Intola i Piasia: Zastanawiam się, czy dużo szybciej nie było by gdyby pixele bitmapy i czcionki były zapisane w tablicy bajtów, gdzie każdy rząd pixeli to byłby jeden bajt (czyli pixele od 1 do 8 były by zapisane w jednym bajcie, od 9 do 16 w drugim itd) wtedy porównywanie sprowadzało by się do operacji XOR na odpowiadających sobie rzędach i sprawdzenie ile w wyniku jest zer - taka jest zgodność rzędu czcionki z rzędem bitmapy. To by się dało w asemblerze zapisać i chyba byłoby szybsze. Mam nadzieję, że nie zamotałem. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Wrzesień 2, 2018 Zgłoś Udostępnij Napisano Wrzesień 2, 2018 Tez o tym myslalem ale weź pod uwage ze jeden znak nie koniecznie musi miec 8 seroksoci i wysokosci bo moze miec np 9x13 i wtedy tzreba kobinowac. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Wrzesień 3, 2018 Zgłoś Udostępnij Napisano Wrzesień 3, 2018 Wrzuciłem na FTP specyfikacje większości modułów. Pozostałe dwa - dzis wieczorem - ewentualnie jutro rano. Wszelkie wątpliwości proszę kierować na GG. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gucio Napisano Wrzesień 3, 2018 Zgłoś Udostępnij Napisano Wrzesień 3, 2018 Mam problem. Caly dzien probuje napisac funkcje pobierajaca pojedynczy pixel z bitmapy. Niestety bezskutecznie, udalo mi sie za to sprawdzic gdzie wskazuje BITMAP.bmBits, i wiecie co - gdzies, ale gdzie to nie wiem. char *bits; $bits = BITMAP.bmBits; Powyzsze raczej nie przejdzie, pzatym nie moge poprawnie obliczyc pozycji pixela. A teraz najciekawsze. Jedziemy na DIB'ach, prawda? A mieszal ktos w kodzie tego kolesia? Bo ja tak i mam zle przeczucia co do tego - na DIB'ach zajmie to nam o wiele wiecej czasu. Wiem pesymista, wybaczcie, dam z siebie wszystko. Wracajac do bitow bitmapy. Powyzsze dziala, ale zapisane tak: char *bits, byte; bits = (BITMAP.bmBits); byte = bits[0]; /* UWAGA */ Z tym, ze to ostatnie robi zwis applikacji - quzwa. P.S Napisze ktos program testowy, ladujacy DIB'a - cos takiego jak zrobilem dla DDB? Bez tego programiku chwilowo ugrzezlem. P.S. Nie moge skompilowac tego programiku od Nicon'a :) Kiedy nastepne spodkanie? Narka. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gucio Napisano Wrzesień 3, 2018 Zgłoś Udostępnij Napisano Wrzesień 3, 2018 Juz wpozadku, ba nawet zayebiscie i prawie jak trzeba. Niewazne na ftp bedzie wkrodce :) - Brzmi jak reklama. Wpadlem na pomysl u Wojka Czeska. Jak skoncze to dam na ftp. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Wrzesień 4, 2018 Zgłoś Udostępnij Napisano Wrzesień 4, 2018 Kurka namieszałem ostro na stronie, a teraz musze to wszystko posprzątać. Przypadkowe delete i koniec świata. Tak to jest jak ostatni backup jest sprzed 1,5 roku. Moj moduł sie troszeczke opozni. Jeszcze nie wiem ile ale bede sie starał już niedługo cos zamieścic na ftp. (proponuje nowy topic zaczać bo się ciasno tu robi) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Wrzesień 5, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 5, 2018 No dobra, koniec przerwy i zaczynamy dzialac :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Quad Napisano Wrzesień 5, 2018 Zgłoś Udostępnij Napisano Wrzesień 5, 2018 Sorki chłopaki, ale do piątku (jak ktoś napisał) z moim modułem się nie wyrobię, bo mam 5 konkursów + ten projekt na głowie.... Jak będzie trzeba koniecznie, to ew. do niedzieli... :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Wrzesień 6, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 6, 2018 Witam!!! Jak wiecie ja pisze w delphi, dlatego caly modol DibHelp.c musialem przerobic na delphi, aby moc sie dostosowac do wymogow naszego projektu. Dlatego na ftp w katalogu Twardy umiescilem przykladowego dll'a (wszystko jest spakowane zipem w LoadDib.zip wraz z opisem funkcji). Funkcja obsluguje tymczasowo tylko bitmapy (*.bmp) dla sprawdzenia czy dobrze wykonalem robote. Chodzi mi teraz o to, zeby ktos zaimplementowal ten modol wraz z funkcja w swoim programie, aby mozna bylo sprawdzic czy wszystko jest tip-top. Chcialbym przypomniec, ze funkcja w tym module tylko laduje bitmapy na potrzeby testu. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Wrzesień 11, 2018 Autor Zgłoś Udostępnij Napisano Wrzesień 11, 2018 Czy można by bylo sie dowiedziec, czy nasz projekt juz sie zakonczyl? Jakos ani widu ani slychu o nim? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Wrzesień 11, 2018 Zgłoś Udostępnij Napisano Wrzesień 11, 2018 Z tego co mi wiadomo to wiekszość ludzi Cierpi na brak czasu. Z tego co wiem to Bialy powoli coś montuje. Ja ze swojej strony wrzuce za chwile na ftp f. do konwersji bitmap do skali szarości. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Wrzesień 11, 2018 Zgłoś Udostępnij Napisano Wrzesień 11, 2018 No brak czasu to jest mało powiedziane. Do tej pory jeszcze nie miałem wszystkich zajęć (pierwszy tydzień), ale obliczyłem, że jak tak dalej pójdzie, to będę miał do napisania średnio 2-3 programy na tydzień i to pod warunkiem, że już teraz się zabiorę. Domyślałem się, że chociaż projekt jest mało skomplikowany i teoretycznie powinien zostać szybko skończony, to nie będzie on jedyną rzeczą, której poświęcamy czas. Dlatego też chciałem dać na niego trochę więcej czasu 2-3 tygodnie. Myślę jednak, że uda nam się to skończyć do niedzieli. Wrzucajcie tymczasem efekty swojej pracy do swoich katalogów na ftpie. Chciałbym jeszcze powiedzieć, żebyście się nie przejmowali, że to tak wolno idzie (i tak myślę, że nie jest tak źle - jak juz pisalem, planowałem na to 3 tygodnie), to jest nasz pierwszy wspólny projekt. Jest kilka takich rzeczy, których się nie da zrobić z marszu - trzeba się najpierw douczyć(np. DIBy, konwersja obrazu, ładowanie różnych formatów...). Nie traćcie nadziei! ;-) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 Ja troche ostatnio tez nie mam czasu. Ale dwie funkcje juz gotowe. Jeszcze skalowanie... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 No ja takze mam malo czasu ale dewie funkcje juz siedza na FTPie a co do trzeciej to nie wiem w koncu jak ja zrobic (do bailego: to jak my ustalili odnosnie tych odcieni nie wydaje mi sie dobre i mam parep omyslow wiec prosze o kontakt na GG ) No i witam po dlugije przerwie bo niem oglem sie zalogowac na forum a dzisiaj sie udalo :D Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 Napisz Piasiu jakie masz pomysly odnosnie tych odcieni. Mysle, ze mozemy to przedyskutowac na forum. Proponuje tez spotkanie na irc w najblizszym czasie. Warto przedyskutowac kila kwestii i pochwalic sie co kto zrobil. To napewno podniesie morale i zmobilizuje do dalszej pracy. Co do logowania na forum to ostatnimi czasy troche bylo problemow ale juz jest OK. Ja mam 2 funkcje a trzecia w drodze. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 Eh to raczej nei pomysly tylko taki maly pomsyl - szkoda o tym mowic. Najwyzej powiem to na spotkaniu na IRCu ktore napewno by sie przydalo. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Complex Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 Oswiadczam, ze zakonczylem prace nad przydzielonymi mi funkcjami. Jeszcze tylko testy i bedzie koniec. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gucio Napisano Wrzesień 12, 2018 Zgłoś Udostępnij Napisano Wrzesień 12, 2018 I'm back! Sprawdzal ktos moje smieci? Jest blad w funkcji GetPixelColor, a wlasciwie to nie wiem co to jest. Wywolywana pojedynczo nie sprawia problemow, ale seriami? To co innego, ponad to Nie jest ona zbyt szybka. Probowalem ja zastapic funkcjami z DibHelp.c, ale efekt ten sam, ba nawet MSDN nie ma na to lekarstwa. Problem jest w switch(nBpp) { /* TUTAJ */ };. Odzyskiwanie koloru z Dib'a o palecie 8 lub mniej bitow itak odbywa sie przez DC. (2 bity jeszcze mozna przyspieszyc, ale na razie trzeba sie tego pozbyc). Moze ktos napisal sprawniejszy odpowiednik GetPixelColor i podzielilby sie nim? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.