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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2014, 01:10   #1
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию Не могу рисовать в Image (Delphi)

Вот мне нужно поставить точку допустим, при вводе координатX и Y в Edits, написала, как вижу неправильно, не могу разобраться где моя ошибка или надо совсем иначе это делать?
Код:
  with Image1.Canvas do
  begin
  Brush.Color := clBlack;
  MoveTo(StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text));
  LineTo(StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text));
  end;
zaira001002 вне форума Ответить с цитированием
Старый 15.04.2014, 01:43   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,342
По умолчанию

Код:
Image1.Canvas.Pixels[10, 10] := clblack;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.04.2014, 02:16   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

zaira001002, вы рисуете линию из точки A в точку ... тоже A.
Линия - вот так например.
Код:
with Image1.Canvas do
  begin
  Brush.Color := clBlack; // хотя это ничего не дает ***
  MoveTo(10,10);
  LineTo(50,50);
  end;
*** Brush здесь не причем. Цвет линии задается Pen.Color. А Brush - цвет заливки Rectangle, Ellipse.

PS. А .. , только сейчас заметил, что надо точку.
Тогда, как в #2
А если жирную точку, то так
Код:
with Image1.Canvas do
  begin
   Canvas.Pen.Color:=clBlack;
   Canvas.Rectangle(9,9,11,11);
  end;

Последний раз редактировалось type_Oleg; 15.04.2014 в 02:26.
type_Oleg вне форума Ответить с цитированием
Старый 15.04.2014, 11:45   #4
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

А что-то еще надо записать в Image? Просто я сделала и так, и так, но у меня не видно точки (((:
Код:
procedure TForm2.ButtonAddPointClick(Sender: TObject);
var
 // StringEdit: string;
  SL: TStringList;
  S: String;
  I: Integer;
  Num: Boolean;
begin
  if Num = False then
  begin
  // Проверка на ввод всех неохбходимых данных
  if (EditCoordinatePointX.Text='') or (EditCoordinatePointY.Text='')then
      ShowMessage('Введены не все данные');

  for I := 0 to ListboxCoordinatesPoints.items.Count - 1 do
  begin
    S:= ListboxCoordinatesPoints.Items.Strings[I];
    Delete(S,1,2);
    ListboxCoordinatesPoints.Items.Strings[I]:=S;
    //:=IntTostr(I+1)+'.'+ListboxCoordinatesPoints.Items.Strings[I];
  end;

  // Добавляем координаты в ListBoxCoordinatesPoints
  S:='X: '+EditCoordinatePointX.Text +'; Y: '+ EditCoordinatePointY.Text;
  // Добавляем строку в компонент ListBox
  ListBoxCoordinatesPoints.Items.Add(S);

  // Проверка на повтор ввода одной точки дважды
  SL:=TStringList.Create; // Создаём список строк типа TStringList
  SL.Sorted:=True; // Устанавливаем свойство - сортировать строки
  SL.Duplicates:=dupIgnore; // Устанавливаем свойство - дубликаты вызывают ошибку добавления
  Sl.AddStrings(ListBoxCoordinatesPoints.Items);
  ListboxCoordinatesPoints.Items := Sl;
  Sl.Free;

  //Добавление точки в график Image
  with Image1.Canvas do
  begin
  Canvas.Pen.Color := clBlack;
  //MoveTo(StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text));
  //LineTo(StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text));
  //Canvas.Rectangle(9,9,11,11);
  Canvas.Pixels[StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text)];
  end;
  for I := 0 to ListboxCoordinatesPoints.items.Count - 1 do
  begin
    ListboxCoordinatesPoints.Items.Strings[I]:=IntTostr(I+1)+'.'+ListboxCoordinatesPoints.Items.Strings[I];
  end;
  Num := True;
  end;
  end;
zaira001002 вне форума Ответить с цитированием
Старый 15.04.2014, 12:10   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,342
По умолчанию

Код:
Image1.Canvas.Pixels[StrToInt(EditCoordinatePointX.Text),StrToInt(EditCoordinatePointY.Text)] := clBlack;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.04.2014, 13:11   #6
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

Ладно))) Это все правильно) Ну а точки все не видно и не видно)))))или она настолько мала ) что я ее не вижу, или она теряется где-то за гранью выделенного пространства TImage)?Надо будет какие -то ограничения установить?)))
zaira001002 вне форума Ответить с цитированием
Старый 15.04.2014, 13:14   #7
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

ВСЕ))))) Я сделала))) Спасибо большоееее)))))
zaira001002 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение разных Image (не могу продумать реализацию) Silly Student C++ Builder 10 26.10.2011 10:20
Image в Delphi I'm_Not_Afraid Помощь студентам 6 22.05.2011 18:57
Delphi 7 Image Itachi Помощь студентам 6 16.04.2011 18:14
Рисовать Ico в Image Zeraim Общие вопросы Delphi 2 03.08.2009 21:05
Image B Delphi Gromsky Помощь студентам 1 29.02.2008 15:40