Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Image ...свойства


Автор: rthsobakas 25.11.2007, 09:37
Помогите решить следующие проблемы:
1) есть процедура getcursorpos ... она аозвращает позицию курсора(на экране), можно ли при изменении размеров формы не высчитывать координаты... а работать с image-ем ... т.е. верхний угол имаги это (0 ,0) вне зависимости от положения формы?
2) как распечатать рисунок с image ?
3) в чем измеряется top left height wifth  ? можно ли перейти в ММ?
4)как поменять фон image?
5) как изменить размеры image принажатии на кнопку?(image1.width:=image1.width-10 не катит,хз почему но рисунок не меняет размеров)
6)где можно найти краткую справку по image,Сanvas и printer?(понятно что гуглить надо, но все же)

Автор: MetalFan 25.11.2007, 10:05
6) не поверишь, но F1 спасет ;)

Автор: WaReZMEN 25.11.2007, 10:45
1. Можно
2. Смотри хелп
3. В Пикселях... нет...
4.Это что имееш виду картинки чтоли?
5. image1.width:=image1.width-10  работает тока поставь своство AutoSize:=false; а      Stretch:=True;

Автор: rthsobakas 25.11.2007, 11:03
Цитата

4.Это что имееш виду картинки чтоли?

нее... короче если выводишь точку на имагу то фон её становится белым... это в канвасе наверно кавырять надо...

Цитата

1. Можно

воо... как раз... скажи че надо сделать сделать или намекни на процедуру...

Цитата

2. Смотри хелп


ммм... как текст печатать , нашел, а с имагой не могу(((

Автор: WaReZMEN 25.11.2007, 12:35
Цитата(rthsobakas @  25.11.2007,  19:03 Найти цитируемый пост)
нее... короче если выводишь точку на имагу то фон её становится белым... это в канвасе наверно кавырять надо...

Если ты ее рисуеш на канвасе Image то да есть там функция заливки.... А если ты точку грузиш из фаила то фон будет такои какои и в файле...

Цитата(rthsobakas @  25.11.2007,  19:03 Найти цитируемый пост)
воо... как раз... скажи че надо сделать сделать или намекни на процедуру...


Вообщем у Image есть события onMouseMove там есть параметры 
 
Код

Shift: TShiftState;  //Состояние кнопок мыши
 X,  Y: Integer  //Координаты мыши на поверхности картинки...



Цитата(rthsobakas @  25.11.2007,  19:03 Найти цитируемый пост)
мм... как текст печатать , нашел, а с имагой не могу((( 


Код


uses
     .... printers;
....

procedure TForm1.Button1Click(Sender: TObject);
Var
  SrcRect, DstRect:TRect;
begin
Printer.BeginDoc();
SrcRect.Top:=0;
SrcRect.Left:=0;
SrcRect.Right:=(Image1.Picture.Bitmap.Width); // взяли ширину
SrcRect.Bottom:=(Image1.Picture.Bitmap.Height); // и высоту картинки загруженной в Image
DstRect.Top:=0;
DstRect.Left:=0;
// Далее натянул рисунок на лист
DstRect.Right:=Printer.PageWidth;
DstRect.Bottom:=Round(SrcRect.Bottom*(DstRect.Right/SrcRect.Right));
Printer.Canvas.CopyRect(DstRect, Image1.Picture.Bitmap.Canvas, SrcRect);
Printer.EndDoc();
//В результате из печати выдет лист на котором рисунок растянут по ширине с сохранением пропорций. Подправь под свои нужды. Надеюсь поможет.
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)