|
0 Всего найдено: 41
aktivist
Сообщение
24/12/2007 19:03
Копия темы
Кто подскажет в чем ошибка? . После етого прога вырубается(
russkiy-lance
Сообщение
24/12/2007 19:05
Копия темы
. может забыл задать размер массива, может еще чего
pavlick
Сообщение
24/12/2007 19:06
Копия темы
. Ошибка в том, что прога лезет не в свою память. и ее за это казнят через останов процесса )
aktivist
Сообщение
24/12/2007 19:07
Копия темы
. ...Ошибка стала появлятся после того как я сдела сохранение картинки : procedure TForm1.Button4Click(Sender: TObject); var TForm1,Image2:TImage; begin Image2.Picture.SaveToFile(SavePictureDialog1.FileName); end; end.
pavlick
Сообщение
24/12/2007 19:07
Копия темы
. память изнасиловали... теперь у нее будет психологическая травма на всю жизнь
shupruta
Сообщение
24/12/2007 19:25
Копия темы
. А Image2 перед этим содержит какую-то картинку...? Может, сохранять "нечего", вот он и не понимает, в какой кусок памяти сунуться :)...Мало ли...
aktivist
Сообщение
24/12/2007 19:35
Копия темы
. Вобщем работа программы такая: Открываю картинку в поле Image1 Инвертирую ее в поле Image2 сохраняю инвертированную картинку
ToSm
Сообщение
24/12/2007 19:38
Копия темы
. Надо скрин кода увидеть, по "вобщем" ничего сказать нельзя.
aktivist
Сообщение
24/12/2007 19:45
Копия темы
. unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Menus, jpeg, ExtDlgs; type TForm1 = class(TForm) OD : TOpenDialog; MainMenu1: TMainMenu; Image2: TImage; Button1: TButton; Button2: TButton; Image1: TImage; Button3: TButton; Button4: TButton; SavePictureDialog1: TSavePictureDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1 : TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin if OD.Execute then begin Image1.Picture.LoadFromFile(OD.FileName); Image1.Center:=True; end; end; procedure TForm1.Button2Click(Sender: TObject); begin halt; end; procedure TForm1.Button3Click(Sender: TObject); var i, j: integer; C, CI: TColor; R,G,B: byte; RI, GI, BI: byte; begin for i:=0 to Image1.Width do for j:=0 to Image1.Height do begin C:=R*65535+G*255+B; C:=Image1.Canvas.Pixels [i,j]; R:=(C)div(65535); G:=(C-R*65535)div(255); B:=(C-R*65535-G*255); RI:=255-R; GI:=255-G; BI:=255-B; CI:=RI*65535+GI*255+BI; Image2.Canvas.Pixels[i,j]:=CI; end; end; //procedure TForm1.Button4Click(Sender: TObject); //var TForm1,Image2:TImage; //begin // Image2.Picture.SaveToFile(SavePictureDialog1.FileName); // end; end.
aktivist
Сообщение
24/12/2007 19:46
Копия темы
. То что закоментированно это и есть "сохранить", из-за чего и не работает...
ToSm
Сообщение
24/12/2007 19:47
Копия темы
. попробуй указать явное имя файла, т.е. вместо: Image2.Picture.SaveToFile(SavePictureDialog1.FileName); Напиши: Image2.Picture.SaveToFile('image.jpg');
ToSm
Сообщение
24/12/2007 19:52
Копия темы
. Сам диалог SavePictureDialog1 успевает вылезти, или сразу появляется ошибка?
ToSm
Сообщение
24/12/2007 19:55
Копия темы
. Пробуй так: if SavePictureDialog1.Execute then Image2.Picture.SaveToFile(SavePictureDialog1.FileName); Или: Image2.Picture.Graphic.SaveToFile(SavePictrureDialog1.FileName); Этот метод позволит выбрать тип сохраняемого изображения.
aktivist
Сообщение
24/12/2007 19:55
Копия темы
. Нет, после нажатия на форме кнопки "сохранить" программа вылетает и выдает ошибку!
shupruta
Сообщение
24/12/2007 19:57
Копия темы
. А процедура по Button3 нормально выполняется? И точно нужно нумерацию с [0,0] делать?...
ToSm
Сообщение
24/12/2007 19:57
Копия темы
. Кстате, зачем ты делаешь объявленние var TForm1,Image2:TImage; внутри функции, у тебя уже давно всё объявлено, скорее васего это вызывает ошибку работы с памятью.
aktivist
Сообщение
24/12/2007 20:02
Копия темы
. Чет всеравно не работает....выделяет строку : Image2.Picture.Graphic.SaveToFile(SavePictrureDialog1.FileName);
ToSm
Сообщение
24/12/2007 20:07
Копия темы
. Верни назад: Image2.Picture.SaveToFile(SavePictureDialog1.FileName); но убери var TForm1,Image2:TImage;
shupruta
Сообщение
24/12/2007 20:09
Копия темы
. Странно. А если попробовать сделать нумерацию с i=1 и j=1 и до Width-1, Height-1. Скорее всего ошибка с размерностями масивов...
aktivist
Сообщение
24/12/2007 20:16
Копия темы
. В таком случае ошибки нет, но при етом кнопка сохранить просто не работает, т.е. нажимается, но не производит ни каких действий!
ToSm
Сообщение
24/12/2007 20:19
Копия темы
. меняй: procedure TForm1.Button4Click(Sender: TObject); var TForm1,Image2:TImage; begin Image2.Picture.SaveToFile(SavePictureDialog1.FileName); end; На: procedure TForm1.Button4Click(Sender: TObject); begin if SavePictureDialog1.Execute then Image2.Picture.SaveToFile(SavePictureDialog1.FileName); end;
ToSm
Сообщение
24/12/2007 20:26
Копия темы
. После чего? Когда вводишь имя и жмёшь сохранить или после нажатия на Button4 ?
ToSm
Сообщение
24/12/2007 20:27
Копия темы
. Сейчас проблема с расширением сохраняемого файла, как понимаю.
aktivist
Сообщение
24/12/2007 20:29
Копия темы
. После того как нажимаеш на Botton4 ! Файл который загружаю bmp
ToSm
Сообщение
24/12/2007 20:31
Копия темы
0
. Надо пробовать: procedure TForm1.Button4Click(Sender: TObject); begin if SavePictureDialog1.Execute then Image2.Picture.SaveToFile(SavePictureDialog1.FileName+'.bmp'); end; Или: procedure TForm1.Button4Click(Sender: TObject); begin if SavePictureDialog1.Execute then Image2.Picture.Graphic.SaveToFile(SavePictrureDialog1.FileName); end; |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |