Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Какая функция смещает вывод Canvas?   Найти похожие ветки 

 
Roman_man   (2012-09-15 17:49) [0]

Т.е. рисуем прямоугольник в позиции 30, 30.
Потом смещаем. Рисуем в той же позиции, но прямоугольник будет смещен по Х на 100 пикселей.

Какая функция смещает вывод Canvas?


 
alexdn ©   (2012-09-15 18:13) [1]

image1.Canvas.MoveTo(30,30);
image1.Canvas.LineTo(30+100,30);


 
Лакки   (2012-09-15 18:13) [2]

Coordinate Space and Transformation Functions
http://msdn.microsoft.com/en-us/library/windows/desktop/dd183476%28v=vs.85%29.aspx

А Гугл что, на профилактике сегодня?


 
ZAQ   (2012-09-15 19:32) [3]


> alexdn ©   (15.09.12 18:13) [1]

так вот как рисует вагонка... :)))


 
Джобер   (2012-09-15 19:36) [4]


> Какая функция смещает вывод Canvas?

Функция сложения.


 
xayam ©   (2012-09-16 20:30) [5]


> MoveTo

сегодня уже короче придумали - просто "M"


 
alexdn ©   (2012-09-16 21:20) [6]

> Джобер   (15.09.12 19:36) [4]
>
> > Какая функция смещает вывод Canvas?
>
> Функция сложения.
Мне кто нибудь может пример привести? смещается весь canvas? что то я не вьеду.


 
antonn ©   (2012-09-16 21:23) [7]

просто они считают вопрошающих с таким вопросом тупее себя, и думают раз он сам выводит - то пусть при выводе координату увеличивает.


 
alexdn ©   (2012-09-16 21:45) [8]

> antonn ©   (16.09.12 21:23) [7]
так всё таки Coordinate Space and Transformation Functions, разве они могут только часть canvas переместить? или это что то вроде репликации? мне лично кажется что image1.Canvas.LineTo(х+100,30); надёжнее.


 
antonn ©   (2012-09-16 22:03) [9]


> разве они могут только часть canvas переместить?

а если нужно заставить вести вывод по смещенным координатам, а функция выводит их по своим?
SomeClass.DrawAndClick(x,y:integer; canvas:tcanvas)
принимает клик по координатам и производит рисование на канве. Хочется чтобы рисование на канве происходило не там, куда хочет рисовать процедура. А она в классе, который в DCU. Ну и что ты тут железно поменяешь?


 
alexdn ©   (2012-09-16 22:21) [10]

> antonn ©   (16.09.12 22:03) [9]
я скорее спрашивал происходит реплекация, т.е. смещение? или как? мне б хоть кто строчку кода сбросил, хоть по вопросу топистартера..


 
sniknik ©   (2012-09-16 22:31) [11]

var
 MyRgn: HRGN;
begin
 MyRgn := CreateRectRgn(10,10,100,100);
 SelectClipRgn(Image1.Canvas.Handle, MyRgn);

 Image1.Canvas.Pen.Color:= clRed;
 Image1.Canvas.MoveTo(0, 0);
 Image1.Canvas.LineTo(50, 50);

 SelectClipRgn(Image1.Canvas.Handle, 0);
 DeleteObject(MyRgn);
end;


 
Германн ©   (2012-09-17 02:25) [12]


> antonn ©   (16.09.12 21:23) [7]
>
> просто они считают вопрошающих с таким вопросом тупее себя,
>  и думают раз он сам выводит - то пусть при выводе координату
> увеличивает.
>

А дать ответ автору на этом форуме что тебе мешает?


 
alexdn ©   (2012-09-17 07:52) [13]

> sniknik ©   (16.09.12 22:31) [11]
ну вообщем так я и думал, идёт работа с частью/всем изображением, а если нужно например только одну линию перенести, а всё остальное оставить?.. тут без LineTo(х+100,30) не обойдёшься..


 
Ega23 ©   (2012-09-17 08:08) [14]


> принимает клик по координатам и производит рисование на
> канве. Хочется чтобы рисование на канве происходило не там,
>  куда хочет рисовать процедура. А она в классе, который
> в DCU. Ну и что ты тут железно поменяешь?

Выкину dcu на север и в горы и напишу свой собственный SomeClass, с преферансом и студентками.


 
Inovet ©   (2012-09-17 08:24) [15]

> [13] alexdn ©   (17.09.12 07:52)

Так это же не в векторах сохраняется, а в растре. Ещё бы Виндоус запоминала все почеркушки приложения, ага.


 
sniknik ©   (2012-09-17 10:01) [16]

> а если нужно заставить вести вывод по смещенным координатам, а функция выводит их по своим?
> SomeClass.DrawAndClick(x,y:integer; canvas:tcanvas)

> ну вообщем так я и думал, идёт работа с частью/всем изображением, а если нужно например только одну линию перенести, а всё остальное оставить?.. тут без LineTo(х+100,30) не обойдёшься..

как вас понимать Саид?


 
antonn ©   (2012-09-17 12:07) [17]


> А дать ответ автору на этом форуме что тебе мешает?

это не тематический форум


> Ega23 ©   (17.09.12 08:08) [14]
>
> Выкину dcu

выкидывай, мне все равно


 
Ega23 ©   (2012-09-17 12:35) [18]


> выкидывай, мне все равно


Ты не понял. Если у тебя есть некий код в виде dcu, который делает "что-то там", а тебе нужно делать "что-то там другое", то не имеет смысла допиливать напильником.
Тем более - dcu.


 
antonn ©   (2012-09-17 12:43) [19]

Я, собственно, об этом и говорю - что не весь код в своем приложении можно отредактировать, соответственно советы типа "прибавляй координату" смотрятся глупо (а то автор не догадался бы...).


 
Студент   (2012-09-17 15:13) [20]

Может что такое надо автору?(*писалось по памяти нигде не компилировалось и не проверялось*)
var
 bmp1,bmp2:TBitmap;

procedure form1.init();
begin
bmp1 := TBitmap.create(nil);
bmp2 := TBitmap.create(nil);
end;

procedure form1.destroy;
begin

bmp1.free();
bmp2.free();
inherited;
end;

procedure form1.timer1ontimer(sender:TObject);
var
 x,y, x1,y1:integer;
begin
x := Random(400);
y := Random(400);
x1 := x + 50;
y1 := y + 50;
if  form1.tag = 0 then
 begin
   bmp1.canvas.moveto(x,y);
   bmp1.canvas.LineTo(x1,y1);
   form1.tag :=1;
   image1.canvas.draw(0,0,bmp2);
 end
   else
     begin
        bmp2.canvas.moveto(x,y);
        bmp2.canvas.LineTo(x1,y1);
        form1.tag :=0;
        image1.canvas.draw(0,0,bmp1);
     end;
end;



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.263 c
15-1343200140
boriskb
2012-07-25 11:09
2013.03.22
Программисты становятся дефицитом


15-1331419316
Дмитрий С
2012-03-11 02:41
2013.03.22
Шифрование диска. Теоретический вопрос.


2-1337023197
Влад
2012-05-14 23:19
2013.03.22
Создать класс по имени


2-1338379393
мтк
2012-05-30 16:03
2013.03.22
Создание формы по имени класса и передача параметров конструктору


15-1344504943
brother
2012-08-09 13:35
2013.03.22
верстка div ом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский