Метод | Тип | Описание | Параметры | Поддерживается |
|
|
|
|
|
Circle | SUB (x1%, y1%, x2%, y2%, c%, fill%) | Рисует и заливает окружность | 6 | WXG |
CopyRect | SUB (D, Image, S) | D и S это QRECTs, Image может быть QImage, QCanvas, или QBitmap | 3 | W |
| Пример (copies QIMAGE to canvas at 10,10):
DIM Destination AS QRECT
DIM Source AS QRECT
DIM Image AS QIMAGE
Image.BMP = "whatever.bmp"
SUB CanvasPaint (Sender AS QCANVAS)
WITH Destination
.Top = 10
.Left = 10
.Right = .Left+Image.Width
.Bottom = .Top+Image.Height
END WITH
WITH Source
.Top = 0
.Left = 0
.Right = Image.Width
.Bottom = Image.Height
END WITH
Sender.CopyRect(Destination, Image, Source)
END SUB
DIM Canvas AS QCANVAS
Canvas.OnPaint = CanvasPaint
|
Draw | SUB (x%, y%, BMP) | Выводит рисунок на "холст" (Рисовать BitMap on Canvas) | 3 | WG |
| Детали:
BMP может быть BMP свойством QBitmap, QImage, QImageList, etc. любой компонент со свойством BMP подойдет.
Примерs:
DIM Image1 AS QIMAGE
Image1.BMP = "whatever.bmp"
DIM Image2 AS QBITMAP
Image2.BMP = "whatever.bmp"
SUB CanvasPaint (Sender AS QCANVAS)
Sender.Draw(0, 0, Image1.BMP)
Sender.Draw(50, 50, Image2.BMP)
END SUB
DIM Canvas AS QCANVAS
Canvas.OnPaint = CanvasPaint
|
FillRect | SUB (x1%, y1%, x2%, y2%, c%) | Рисует и заливает цветом прямоугольник | 5 | WXG |
Line | SUB (x1%, y1%, x2%, y2%, c%) | Рисует линию | 5 | WXG |
Paint | SUB (x%, y%, c%, borderc%) | Заполняет область | 4 | WXG |
Pset | SUB (x%, y%, c%) | Рисует точку | 3 | WXG |
Rectangle | SUB (x1%, y1%, x2%, y2%, c%) | Рисует прямоугольник | 5 | WXG |
Repaint | SUB | Перерисовать | 0 | W |
Rotate | SUB (xOrigin%, yOrigin%, Angle%) | Поворачивает canvas вокруг заданной точки н заданный угол | 3 | W |
RoundRect | SUB (x1%, y1%, x2%, y2%, x3%, y3%, c%) | Рисует & Заполняет цветом прямоугольник со скругленными углами | 7 | W |
StretchDraw | SUB (Rect AS QRECT, BMP) | Рисует изображение и растягивает его до заполнения заданного прямоугольника | 2 | W |
TextHeight | FUNCTION (Text$) AS WORD | Возвращает высоту, в пикселях, строки Text$ | 1 | W |
TextWidth | FUNCTION (Text$) AS WORD | Возвращает ширину, в пикселях, строки Text$ | 1 | W |
TextRect | SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) | Выводит текст, обрезая по границам региона Rect | 6 | W |
TextOut | SUB (x%, y%, S$, fc%, bc%) | Выводит текст на рисунок | 5 | WXG |
QCanvas Примеры
' Pixel by pixel credit scroller for Rapid-Q by William Yu
DIM Canvas AS QCanvas
DIM Form AS QForm
DIM Timer1 AS QTimer
DIM Font AS QFont
DIM Y AS INTEGER
Y = -20
SUB Resize
Canvas.Height = Form.ClientHeight
Canvas.Width = Form.ClientWidth
END SUB
SUB Paint
Canvas.Textout (65,Y-30,"Beware the power of Rapid-Q!", &H00FF00, 0)
Canvas.Textout (30,Y,"Credit Scroller written in Rapid-Q by William Yu", &HFFFFFF, 0)
END SUB
SUB TimerOver
Timer1.Interval = 1 '' Can't go any lower!
Y = Y + 1 '' Pixel by pixel!
Paint
END SUB
Form.Width = 400
Form.Height = 200
Form.Center
Form.Color = 0
Font.Name = "Arial"
Font.Size = 12
Font.Color = &H00FF00
Canvas.Parent = Form
Canvas.Font = Font
Canvas.Color = 0
Canvas.OnPaint = Paint
Timer1.Interval = 1
Timer1.OnTimer = TimerOver
Form.Onresize = Resize
Form.ShowModal