Piast Temat założony przez niniejszego użytkownika |
» 2009-10-21 17:02:20 przy użyciu tej funkcji błąd nie występuje
bmp2 = load_jp2("c:/szarą.jpg", pal);
tylko ja chcę wczytać dowolne zdjęcie ,i nie wiem co powoduje błąd z polskimi znakami ? |
|
DejaVu |
» 2009-10-21 21:09:16 Jeśli zmodyfikowałeś plik tak jak mówiłem i jeśli dostajesz napis costam9 to znaczy, że działa funkcja tak jak napisałem. Zamień drugie wystąpienie 9 w pliku literą 'ą' jeśli tam ma być 'ą'. |
|
Piast Temat założony przez niniejszego użytkownika |
» 2009-10-23 15:36:04 napisał Piotr " Spróbuj zrobić większą bitmapę. Być może pisząc polskie znaki wychodzi poza zakres bitmapy w poszukiwaniu polskich znaków." nie rozumiem co ma wielkość bitmapy do nazwy zdjęcia które wczytuję ? (na zdjęciach nie ma czcionek tylko np krajobrazy ,chodzi tylko o nazwę zdjęcia) jak już napisałem jeśli w nazwie zdjęcia nie ma "ąźżćęłóń" to wczytuje się ok. co byście zrobili aby poprawnie się wczytywały zdjęcia z polskimi znakami ? #include <allegro.h> #include <allegro/loadjp2k.h> #include <jpgalleg.h> #define PI 3.14159265 #include <math.h>
char last_path[ 100 ] = ""; int main() { BITMAP * bmp; BITMAP * bmp2; allegro_init(); jpgalleg_init(); install_timer(); install_keyboard(); install_mouse(); set_color_depth( 32 ); if( set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 700, 0, 0 ) != 0 ) { return 2; } loadjp2k_init(); ........................................................................... if( key[ KEY_L ] ) { ( file_select_ex( "Load image", last_path, "bmp;tga;jpg;jpeg", 100, 600, 500 ) ); bmp2 = load_jp2( last_path, 0 ); blit( bmp2, screen, 0, 0, 0, 0, 800, 600 ); }
|
|
DejaVu |
» 2009-10-23 19:44:04 Wyobraź sobie, że istnieje coś takiego jak kod ASCII. Do każdej literki jest przypisany kod ASCII. Załóżmy więc, że chciałbyś napisać funkcję, która wyświetlać będzie znaki. Jak określiłbyś na której pozycji w pliku znajduje się interesująca nas litera? Ja bym zrobił to tak, że: 1) litery są zapisane w pliku graficznym w jednym wierszu (żeby było łatwiej) 2) każda litera zaczynałaby się od pozycji: KOD_ASCII*SZEROKOSC_LITER.
Wniosek z tego taki, że jeśli użyję znaku o numerze np. 197, to szerokość bitmapy musi być minimum (197+1)*SZEROKOSC_LITER, żeby móc wczytać taki znak - w przeciwnym wypadku reprezentacja graficzna znaku nie będzie istniała. Prawdopodobnie tak działa również Allegro. |
|
Piast Temat założony przez niniejszego użytkownika |
» 2009-11-03 11:51:57 Najciekawsze jest to że ALLEGRO + JPGALLEG nie ma problemu z polskimi znakami tylko biblioteka ALLEGRO + LOADJP2k Ze względu na lepszą jakość wczytywanych zdjęć w .jpg zależy mi na współpracy ALLEGRO + LOADJP2K Nie wiem czy lepiej aby program ignorował polskie znaki czy je zamieniał ?
char last_path[100]; file_select("Load As...", last_path, "JPG"); bmp2 = load_jp2(last_path, 0);
Jak zrobię tak jak powyżej to jest źle jeśli nazwa pliku ma polskie znaki
bmp2 = load_jp2("C:/ąęółżźć.jpg", 0);
Jeśli zastosuję powyższy przykład to zdjęcie się wczytuje z polskimi znakami ,ale chodzi mi o możliwość wyboru pliku "file_select" chyba że jest jakiś inny sposób ? Jestem początkujący więc proszę was o pomoc. |
|
DejaVu |
» 2009-11-03 12:56:40 Mam dla Ciebie dwie wiadomości jedna jest dobra, a druga zła. Dobrą wiadomością jest fakt, że posuwasz się do przodu z eksperymentami z polską czcionką. Złą wiadomością jest to, że prawdopodobnie jesteś pierwszą osobą, która dzieli się takimi problemami na forum i zdobywa w tej materii jakieś doświadczenie. Osobiście nie używałem tej biblioteki i niestety nie mogę Ci pomóc więcej niż to co udało mi się wygooglać. Z moich obserwacji wynika również, że nie ma tutaj takiej osoby, która mogła by Ci powiedzieć więcej niż to co jesteś w stanie znaleść na googlach. Nawiązując do biblioteki, której używasz wynika jasno, że funkcja load_jp2 tylko i wyłącznie wczytuje bitmapę. Problemu szukałbym gdzieś indziej, czyli w funkcji file_select(). Zauważ, że w przykładzie mamy: char path[] = "c:/djgpp/allegro/examples";
ret = file_select( "Save As...", path, "PCX;BMP;TGA" );
if( ret ) save_file( path ); else do_not_save_file(); Innymi słowy podana jest ścieżka do katalogu, a nie do pliku. |
|
Piast Temat założony przez niniejszego użytkownika |
» 2009-11-03 15:06:01 istnieje inne rozwiązanie wyszukania pliku zamiast "file select" ? |
|
DejaVu |
» 2009-11-03 15:18:37 |
|
1 « 2 » |