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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2009, 05:10   #1
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию Вопрос по image

На форме находится image с Align=alClient, если сначала изменить размер формы, а потом вывести картинку на image, то она как и требуется рисуется а всю форму. Но если после этого опять изменить размер формы (увеличить), то картинка рисуется только того размера какого она рисовалась первый раз.
Так как выводить картинку на всю форму после изменения ее размера?
gusluk вне форума Ответить с цитированием
Старый 03.09.2009, 05:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не знаю что у вас не так.
у меня все отлично работает..
просто Имейдж на форме и картинка в нем(и выравнивание по всей области конечно)
при ресайзе все нормально(картинку ставил и bmp и jpg)

мож че с картинкой не так?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.09.2009, 06:44   #3
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Я не картинку рисовал, а сначала белый прямоугольник, а потом текст и линии. Та область на которой первый раз рисовал закрашивается белым и текст с линиями печатается, а та, что появилась после увеличения размера формы, остается серой.
Стоит Delphi 7.
Вложения
Тип файла: rar primer.rar (164.9 Кб, 15 просмотров)

Последний раз редактировалось gusluk; 03.09.2009 в 07:22.
gusluk вне форума Ответить с цитированием
Старый 03.09.2009, 08:19   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Canvas.Brush.Color:=clwhite;
image1.canvas.fillrect(image1.canvas.cliprect);
form1.Image1.Canvas.Rectangle(0,0,form1.Image1.Width,form1.Image1.Height);

form1.Image1.Canvas.MoveTo(1,50);
form1.Image1.Canvas.LineTo(form1.Image1.Width-1,50);
form1.Image1.Canvas.TextOut(form1.Image1.Width-50,20,'Text');

end;
SERG1980 вне форума Ответить с цитированием
Старый 03.09.2009, 08:32   #5
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Спасибо SERG1980, но не помогло.
gusluk вне форума Ответить с цитированием
Старый 03.09.2009, 08:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю такую стратегию:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    PaintBox1: TPaintBox;
    procedure FormResize(Sender: TObject);
    procedure PaintBox1Paint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormResize(Sender: TObject);
begin
PaintBox1.Repaint;
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  with PaintBox1 do begin
    Canvas.FillRect(ClientRect);
    Canvas.MoveTo(1,50);
    Canvas.LineTo(Width-1,50);
    Canvas.TextOut(Width-50,20,'Text');
 end;
end;

end.
Смысл ясен или пояснить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2009, 09:00   #7
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Repaint к image результатов не дает а переделывать программу под PaintBox не охота... но похоже придется. А у PaintBox-а таких проблем как у image нету.

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

Цитата:
не охота... но похоже придется
Светлая мысль. Поверь мне.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2009, 09:29   #9
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Спасибо что наставил на путь истинный!
Считаешь что использование PaintBox-ов более надежно чем image?
gusluk вне форума Ответить с цитированием
Старый 03.09.2009, 09:31   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для рисования да. Иначе бы не предложил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Image (скачанная картинка не хочет выводиться в Image) Radnor Мультимедиа в Delphi 2 06.07.2009 02:20
Image IVANSour Общие вопросы Delphi 10 19.01.2009 18:11
image в scrollbox Черничный Общие вопросы Delphi 3 14.08.2008 16:35
image Черничный Общие вопросы Delphi 2 25.06.2008 16:09
image Elm0 Свободное общение 4 21.06.2007 17:34