Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Otwarcie pliku *.bmp i jego zapis z ...
xEagle2



Typ: neutral
Postów: 280
Zarejestrowany: Jul 2003
Otwarcie pliku *.bmp i jego zapis z ...

Potrzebuje otworzyć plik *.bmp i zapisać go z jakimiś moimi paramertami chce aby to jakoś tak wyglądało:

"test 10 10:::" & plik *.bmp

a następnie abym mógł to otworzyć ten plik i pokazać rysunek z parametrami


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

26-03-2005 19:50
Pokaż profil xEagle2  Wyślij email do xEagle2       
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003

Możesz dokładniej wytłumaczyć o co Ci chodzi? Bo jakoś nie rozumiem...


_____________________________________________
TLHW Clan member

26-03-2005 20:04
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
xEagle2



Typ: neutral
Postów: 280
Zarejestrowany: Jul 2003

chce aby stworzył mi plik *.abc w którym bede miał jakiś text i rysunek


_____________________________________________
Co oznacza NET ? Natychmiastowa Eksplozja Trojanów

26-03-2005 20:05
Pokaż profil xEagle2  Wyślij email do xEagle2       
hicks
raptor user



Typ: moderator
Postów: 279
Zarejestrowany: Apr 2003

Zrób nowy "format" w którym masz np.:

Identyfikator formatu (np. 4 bajty)
Długość tekstu (np. 2 bajty = max. długość 65535)
Tekst
Obrazek

Przy otwarciu pobierasz długość tekstu, tekst i obrazek...
Jeżeli chodzi o samo otwarcie obrazka to możesz go "wydzielić" do pliku tmp i oddzielnie załadować, albo "narysować" go bezpośrednio z otwartego pliku...

W wypadku plików BMP można też zrobić inny bajer
bmp ma w nagłówku ustalony rozmiar. Czyli nie będzie czytał pliku dalej niż trzeba... Można więc dodać na końcu pliku obrazka dodatkowe rzeczy nie zmieniając jego wyglądu

Np.: bitmapa 2px x 2px x 24b:

Offset      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

00000000  42 4D 46 00 00 00 00 00  00 00 36 00 00 00 28 00  BMF.......6...(.
00000010  00 00 02 00 00 00 02 00  00 00 01 00 18 00 00 00  ................
00000020  00 00 10 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00  00 FF 00 00 00 00 00 00  .........˙......
00000040  FF 00 FF 00 00 00 0B 00  54 61 6A 6E 79 20 74 65  ˙.˙.....Tajny te
00000050  6B 73 74                                          kst

Obraz bitmapy jest nienaruszony, a jest też dodany tekst... Możesz też dodać tak jak ja powyżej zmienną (w moim wypadku offset 46 i 47) zawierającą długość tekstu, albo czytać tekst aż do EOF = True

Aha aby znaleźć początek tekstu wystarczy obliczyć długość pliku bmp z nagłówka. Wysokość w pikselach masz w offsecie 0F - 12 (4 bajty), szerokość w px masz w offsecie 13 - 16 (4 bajty), ilość bitów na piksel masz w offsecie 1C. Długość nagłówka to 57 bajtów. Więc tekst jest w offsecie:
57 + 2 * (24/8) + 2 * (24/8) + 1 = 70 i sie zgadza.
ta jedynka na końcu to dodatkowy 1 bajt 00 na końcu bitmapy...

[Post edytowany dnia 27-03-2005 00:45 przez hicks]


_____________________________________________
TLHW Clan member

27-03-2005 00:23
Pokaż profil hicks  Wyślij email do hicks   Odwiedź stronę hicks       2511367
Wszystkich odpowiedzi: 3 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1