Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
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.

aktivist Сообщение 24/12/2007 19:07 Копия темы
.
А как с этим боротся?

pavlick Сообщение 24/12/2007 19:07 Копия темы
.
память изнасиловали... теперь у нее будет психологическая травма на всю жизнь

pavlick Сообщение 24/12/2007 19:08 Копия темы
.
дельфи что ли?

aktivist Сообщение 24/12/2007 19:10 Копия темы
.
Она самая 7 версия...

pavlick Сообщение 24/12/2007 19:17 Копия темы
.
c дельфями я не дружу )

aktivist Сообщение 24/12/2007 19:18 Копия темы
.
Спасибо:)

shupruta Сообщение 24/12/2007 19:25 Копия темы
.
А Image2 перед этим содержит какую-то картинку...? Может, сохранять "нечего", вот он и не понимает, в какой кусок памяти сунуться :)...Мало ли...

ToSm Сообщение 24/12/2007 19:30 Копия темы
.
Патчи надо поставить.

aktivist Сообщение 24/12/2007 19:35 Копия темы
.
Вобщем работа программы такая: Открываю картинку в поле Image1 – Инвертирую ее в поле Image2 – сохраняю инвертированную картинку

ToSm Сообщение 24/12/2007 19:38 Копия темы
.
Надо скрин кода увидеть, по "вобщем" ничего сказать нельзя.

aktivist Сообщение 24/12/2007 19:40 Копия темы
.
Скрин чего именно?

ToSm Сообщение 24/12/2007 19:42 Копия темы
.
кода программы

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');

aktivist Сообщение 24/12/2007 19:51 Копия темы
.
Нет тоже самое пишет

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);

aktivist Сообщение 24/12/2007 20:03 Копия темы
.
Да, по Button3 все нормально работает!

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 Копия темы
.
В таком случае ошибки нет, но при етом кнопка сохранить просто не работает, т.е. нажимается, но не производит ни каких действий!

aktivist Сообщение 24/12/2007 20:17 Копия темы
.
Попробовал переделать, не работает((

aktivist Сообщение 24/12/2007 20:18 Копия темы
.
Возможно. А почему тогда сейчас не работает?

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;

aktivist Сообщение 24/12/2007 20:25 Копия темы
.
Вот теперь такою ошибку выдает...



ToSm Сообщение 24/12/2007 20:26 Копия темы
.
После чего?
Когда вводишь имя и жмёшь сохранить или после нажатия на Button4 ?

ToSm Сообщение 24/12/2007 20:27 Копия темы
.
Сейчас проблема с расширением сохраняемого файла, как понимаю.

aktivist Сообщение 24/12/2007 20:29 Копия темы
.
После того как нажимаеш на Botton4 ! Файл который загружаю bmp

aktivist Сообщение 24/12/2007 20:31 Копия темы
.
Все заработало!

ToSm Сообщение 24/12/2007 20:31 Копия темы
.
Надо пробовать:
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;

aktivist Сообщение 24/12/2007 20:32 Копия темы
.
Всем Огромное спасибо за помощь!Выручили!

ToSm Сообщение 24/12/2007 20:33 Копия темы
.
Наконец то ... основы основы основы, учить надо :)

0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"