Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.06.2010, 15:30   #1
-SG-
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 13
Стрелка Требуется дописать функцию сохранения картинки

Люди добрые...

Нужно добавить кнопку по которой изображение сохранялось бы в файл.
+ Работает только если радиобатон чекнут ("осветлить" только. затемнить ваще не нужен), а надо чтобы по кнопке выполнить, можете переделать?

Сегодня до 16-20!!!!!!


Код:
unit shadows;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, Spin;

type
  TForm1 = class(TForm)
    BitBtnopen: TBitBtn;
    OpenDialog: TOpenDialog;
    Imagebefore: TImage;
    Imageafter: TImage;
    BitBtnOK: TBitBtn;
    RadioButtonwhite: TRadioButton;
    RadioButtondark: TRadioButton;
    SpinEditwhite: TSpinEdit;
    SpinEditdark: TSpinEdit;
    procedure BitBtnopenClick(Sender: TObject);
    procedure BitBtnOKClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Function ApplyWhite(Color:TColor; HowMuch:Byte):TColor;
Var r,g,b:Byte;
Begin
	Color:=ColorToRGB(Color);
	r:=GetRValue(Color);
	g:=GetGValue(Color);
	b:=GetBValue(Color);
	if r+HowMuch < 255 then r:=r+HowMuch else r:=255;
	if g+HowMuch < 255 then g:=g+HowMuch else g:=255;
	if b+HowMuch < 255 then b:=b+HowMuch else b:=255;
	result:=RGB(r,g,b);
End;

procedure TForm1.BitBtnopenClick(Sender: TObject);
begin
  if OpenDialog.Execute then
    imagebefore.Picture.LoadFromFile(OpenDialog.FileName);
end;

procedure TForm1.BitBtnOKClick(Sender: TObject);
var
  CangedBmp: TBitmap;
  imgwidth, imgheight, i, j, darkvalue, whitevalue, err1, err2: integer;
begin
  CangedBmp := Tbitmap.Create;
  imgwidth := imagebefore.Picture.Width;
  imgheight := imagebefore.Picture.Height;
  CangedBmp.Width := imgwidth;
  CangedBmp.Height := imgheight;
  val(SpinEditdark.Text, darkvalue, err1);
  val(SpinEditwhite.Text, whitevalue, err2);

  if (err1 = 0) and (err2 = 0) then
    for i := 0 to imgwidth do
      for j := 0 to imgheight do
      begin
          if RadioButtonwhite.Checked then
            CangedBmp.Canvas.Pixels[i, j] :=
              applywhite(imagebefore.Canvas.Pixels[i, j], whitevalue);

    end;

  imageafter.Picture.Bitmap := CangedBmp;
  CangedBmp.Free;
end;

end.
вот вся задача (если делфи старый очень может не открыться)
http://depositfiles.com/files/xvljjw1w5

Последний раз редактировалось -SG-; 02.06.2010 в 15:33.
-SG- вне форума
Старый 02.06.2010, 16:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

-- No coments --
Вложения
Тип файла: rar 6_3_осветление.rar (257.8 Кб, 9 просмотров)
I'm learning to live...
Stilet вне форума
Старый 04.06.2010, 15:44   #3
-SG-
Пользователь
 
Регистрация: 08.10.2009
Сообщений: 13
По умолчанию

[[[ЗАКРЫТО]]]
-SG- вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
требуется перегрузить заданную функцию RodionL3 Помощь студентам 1 22.04.2010 10:45
Требуется дописать программу С++ сорировка vaan.sk Общие вопросы C/C++ 2 10.03.2010 21:01
Требуется дописать программу на QT. За деньги, сложность низкая. Static2 Фриланс 4 27.02.2009 14:32
Требуется дописать код в Dll библиотеке. sas784 Фриланс 11 20.01.2009 19:03
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54