Error class EJPEG - problem z zapisem obrazka

Error class EJPEG - problem z zapisem obrazka
BA
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 10 lat
0

Project Project1.exe raised exception class EJPEG with message 'JPEG error #53'

O co chodzi z tym errorem? wczytalem obrazek, odwrocilem go w pionie i poziomie a potem zapisalem i jak chce go teraz otworzyc to ten error mi wyskakuje.. Prosze o pomoc :(

0

a jak go zapisales ?? Moze jako BMP

BA
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 10 lat
0

wlasnie z zapisem tez jest dziwnie, kombinowalem na wszystkie sposoby jak zapisac plik i nie dziala jak powinno :/

Kopiuj
procedure TForm1.Zapisz1Click(Sender: TObject);
begin
 Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;

procedure TForm1.Zapiszjako1Click(Sender: TObject);
begin
 if SavePictureDialog1.Execute then Image1.Picture.SaveToFile(OpenPictureDialog1.FileName)
end;

kazdy plik ktory edytowalem w moim programie nie zapisuje sie poprawnie, temu nie mozna go otworzyc, ale czemu? To ja nie wiem :/

cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

sluchaj... nie mozesz o wszystko pytac na forum. podstaw musisz nauczyc sie sam.
nie jestes pierwszy ktory sie uczy, przed Toba bylo na tej planecie pare milionow osob ktore uczylo sie delphi i napotykalo te sam problemy, wiec latwo sie domyslec ze 90% z nich jest juz gdzies w interneci, wiec... szukaj!
o zapisywaniu plikow jako jpegi masz chyba nawet w faq.

BA
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 10 lat
0

Robie juz moj projekt lacznie 9h (od wczoraj) znajac malutkie podstawy. Dzieki temu forum juz praktycznie skonczylem wszystko (jestem wam wdzieczny za to), zostal mi ten cholerny zapis, przy ktorym spedzilem najwiecej czasu.
Akurat co do tego to ciezko jest znalezc w internecie jak to zrobic.

To juz bedzie ostatnie pytanie, wiem - robie sie upierdliwy, natretny, zly itp :P

Co do faq, jakis czas temu znalazlem dosyc ciekawy sposob na zapis pliku, ale procedura ta najpierw pobiera plik z OpenDialog, potem kompresuje plik i go zapisuje w bmp i jpg (do wyboru). Tu pytanie, w jaki sposob mozna ja przerobic zeby pobierala obrazek z Image1.Picture i zapisywala go poprawnie? Ciagle puste pliki mi powstaja :/

Tu jest kod tej procedury:

Kopiuj
procedure TForm1.Zapiszjako1Click(Sender: TObject);
var
  Bitmap : TBitmap;
  JPG : TJPEGImage;
begin
  Bitmap := TBitmap.Create;
  try
  { w przypadku, gdy użytkownik wybierze w oknie plik BMP }
    if OpenDialog1.Execute then
    begin
    { załaduj do klasy }
      Bitmap.LoadFromFile(OpenDialog1.FileName);
    { miniaturkę wyświetl również w komponencie TImage }
      Image1.Picture.Bitmap.Assign(Bitmap);
     { utwórz klasę }
      JPG := TJPEGImage.Create;
      try
      { przypisz obrazek z klasy TBitmap }
        JPG.Assign(Bitmap);

        if SaveDialog1.Execute then
        { zapisanie już skompresowanego obrazka }
          JPG.SaveToFile(SaveDialog1.FileName);
      finally
        JPG.Free;
      end;
    end;
  finally
    Bitmap.Free;
  end;
end;
P2
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 14 lat
0

w skrócie to będzie tak: na podstawie przykładu który sam znalazłeś resztę sobie dopasujesz

Kopiuj
JPG := TJPEGImage.Create;
JPG.assign(image1.picture.bitmap); // tu przypisuje sie bitmape z TIMAGE do obiektu typu JPEG
JPG.SaveToFile('Plik 1.jpg');
JPG.free;
BA
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 10 lat
0

jestes wielkli :D usilowalem zrobic ze uzytkownik podaje sciezke zapisu, widac niepotrzebnie, ale to tez moze byc ;d
dodalem msgbox i jest OK :D
"Application.MessageBox('Plik zostal zapisany do: ..\RAD Studio\Projects\Plik 1.JPG', 'Informacja');"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.