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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 17:18   #1
Евгений4
 
Регистрация: 03.05.2009
Сообщений: 8
По умолчанию Пытаюсь создать приложение, закрашивающее bitmap

Пытаюсь создать приложение, закрашивающее битмап...
банальная ошибка паскаля...но в чем не пойму
вот текст проги:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation



procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
procedure Threshold(Bitmap: TBitmap; Value: Byte; Color1, Color2: TColor);
type
  TRGB = record
    B, G, R: Byte;
  end;
  pRGB = ^TRGB;

  function ColorToRGB(Color: TColor): TRGB;
  begin
    with Result do
    begin
      R := Lo(Color);
      G := Lo(Color shr 8);
      B := Lo((Color shr 8) shr 8);
    end;
  end;

var
  x, y: Word;
  C1, C2: TRGB;
  Dest: pRGB;
begin
  Bitmap.PixelFormat := pf24Bit;
  C1 := ColorToRGB(Color1);
  C2 := ColorToRGB(Color2);
  for y := 0 to Bitmap.Height - 1 do
  begin
    Dest := Bitmap.ScanLine[y];
    for x := 0 to Bitmap.Width - 1 do
    begin
      //если среднеарифметическое R, G и B больше Value,
      //то точку (x, y) закрашиваем цветом Color1,
      //иначе - цветом Color2
      if (Dest^.r + Dest^.g + Dest^.b) / 3 > Value then
        Dest^ := C1
      else
        Dest^ := C2;
      Inc(Dest);
    end;
  end;
end;
end.

Последний раз редактировалось Stilet; 15.05.2009 в 17:24.
Евгений4 вне форума Ответить с цитированием
Старый 15.05.2009, 17:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
банальная ошибка паскаля...но в чем не пойму
И че паскаль? Молчит, партизанин? А ты ему ногти выдерни - заговорит )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.05.2009, 15:18   #3
Евгений4
 
Регистрация: 03.05.2009
Сообщений: 8
По умолчанию

Прикалываетесь? Ну плиз мне курсовую скоро сдавать а я в Делфи явно не Бог((( Мне оч надо теоретич материал по теме: Методы определения контуров на изображении. 2 метода я наметил, но не хватает инфы, да и прогу я как видите не могу создать...Пожалуйста, хоть что нибудь!
Евгений4 вне форума Ответить с цитированием
Старый 16.05.2009, 15:20   #4
Евгений4
 
Регистрация: 03.05.2009
Сообщений: 8
По умолчанию

да и еще: я немецкий учил !!! в английском ни бум бум! так что чо там выдает Делфи при ошибке компиляции я аще не понимаю(((
Евгений4 вне форума Ответить с цитированием
Старый 16.05.2009, 15:35   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Смех

Цитата:
банальная ошибка паскаля...
Ы... Ппц фраза, запишу, пожалуй...

Цитата:
так что чо там выдает Делфи при ошибке компиляции я аще не понимаю(
А мы тоже не поймём, если не увидим... Текст ошибки надо бы тоже приводить...


А так там много всего...
Что-то ненужное объявлено, что-то наоборот не объявлено...

Процедура "Image1MouseUp"... Что оно хоть делать-то должно?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 17.05.2009, 00:28   #6
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

ты....эт не "пыли"
ты...толком...раскажи" баннальную " проблемку......ЧТО У тебя не ПОЛУЧАЕТЬСЯ!!!! ЧТО БОЛИТ, а диагноз попробуем поставить!!
Doholyan вне форума Ответить с цитированием
Старый 17.05.2009, 12:31   #7
Евгений4
 
Регистрация: 03.05.2009
Сообщений: 8
По умолчанию

[Pascal Error] Unit1.pas(78): E2029 BEGIN expected but END found
[Pascal Error] Unit1.pas(80): E2029 Declaration expected but end of file found
[Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Да и с сылкой на какуюнибудь инфу поможете? КУРСОВУЮ никак не напишу(((
Евгений4 вне форума Ответить с цитированием
Старый 17.05.2009, 13:07   #8
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Вопрос

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Процедура "Image1MouseUp"... Что оно хоть делать-то должно?
Так что оно должно делать-то..? И почему работает по отпусканию кнопки мыши?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 18.05.2009, 21:25   #9
Евгений4
 
Регистрация: 03.05.2009
Сообщений: 8
По умолчанию

сори щас толком объясню: приложение по клику ли мыши или еще как..вобщем оно должно определить контур загруженного изображения.
В данной проге я хотел хотябы найти порог между цветами...и чо то Делфи мне последний End подчеркивает(((
Счас нашел способ для определения контура(чисто в теории): метод пробега построчно. Если дадите ссылочку на еще чтоньть такое....+10 вам к удаче и здоровью)))
Евгений4 вне форума Ответить с цитированием
Старый 24.08.2009, 18:02   #10
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию

Цитата:
+10 вам к удаче и здоровью)))
- аха, можно мне еще 2 гига оперативки))
Цитата:
ИШУ ПРОГРАМИСТА ОПЫТНГО С УМЕНИЕМ СОЗДАВАТЬ ФЛЕШ ИГРЫ СОЗДАВАТЬ ПРОГРАМЫ УМЕЮШИМ СОЗДАВАТЬ НЕЗАВИСИМЫЕ САЙТЫ
И СКАЧЕВАТЬ ЛЮБОЙ АРХИВ ИЛИ ПРОГРАМУ ЕСЛИ ВЫ ОН ПРИСЕЛАИТЕ
МНЕ ПИСМО НА АДРЕС ajes98@mail.ru СПАСИБО ЗА ВАШЕ ВНИМАНИЕ !
- крута) я так не умею, 11 ошибок )))
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".

Последний раз редактировалось Mr.Qwerty; 24.08.2009 в 18:50.
Mr.Qwerty вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужны любые идеи как создать фильтр Color blindness для bitmap! SkAndrew Мультимедиа в Delphi 19 05.04.2009 17:15
Пытаюсь создать Dll для своей проги Parcenson Общие вопросы Delphi 6 30.09.2008 20:36
создать многопользовательское приложение Katerina Помощь студентам 2 02.04.2008 21:49
Создать приложение DOLBY Паскаль, Turbo Pascal, PascalABC.NET 8 28.01.2008 16:37
Как создать Web-приложение eremin Работа с сетью в Delphi 3 27.10.2007 13:15