Шаг 5 - Один объект CDAImage как фон для другого CDAImage (создаем овал)

В данном шаге мы создадим первую нашу фигуру. Фигура будет овалом. Тут нам придется использовать два объекта. Создавая фигуру нам нужно передать в функцию создания (Oval) два объекта – фон (CDAImage) и стиль линии (CDALineStyle). В результате мы получим новый объект CDAImage, который будет передан элементу управления.

5_1.gif (3066 b)

HTML&JScript
Visual Basic
Visual C++

HTML&JScript

Идея понятна, смотрим реализацию:

<SCRIPT language=JScript>
	mDAStatics = DAControl.PixelLibrary;
	myImg = mDAStatics.SolidColorImage(mDAStatics.Red);
	myOval=mDAStatics.Oval(50,80).Fill(mDAStatics.DefaultLineStyle,myImg);
	DAControl.Image = myOval; 
	DAControl.Start();
</SCRIPT>

И результат:

5_2.gif (4749 b)

Visual Basic

Создаем еще один объект изображения:

Dim mOValImage As DAImage
Dim mDAImage As DAImage
Dim mDAStatics  As DAStatics

Реализуем:

Private Sub Form_Load()
	Set mDAStatics = DAViewerControl1.PixelLibrary
	Set mDAImage = mDAStatics.SolidColorImage(mDAStatics.Red)
	Set mOValImage = mDAStatics.Oval(50, 80).Fill(mDAStatics.DefaultLineStyle, mDAImage)
	DAViewerControl1.Image = mOValImage
	DAViewerControl1.Start
End Sub

Смотрим результат.

5_3.gif (2446 b)

Visual C++

Подключаем описание необходимых классов.

.......
#include "dastatics.h"
#include "daimage.h"
#include "dacolor.h"
#include "dalinestyle.h"
#include "dapath2.h"
.......

Описываем новые переменные:

......
class CVCDlg : public CDialog
{
// Construction
public:
	CVCDlg(CWnd* pParent = NULL);	// standard constructor
	CDAStatics mDAStatics;
	CDAImage mCDAImage;
	CDAImage mOvalImage;
	CDAColor mCDAColor;
	CDALineStyle mDALineStyle;
	// Dialog Data

Реализуем:

	......
	// TODO: Add extra initialization here
	mDAStatics=m_DirectControl.GetPixelLibrary(); 
	mCDAColor = mDAStatics.GetRed();
	mCDAImage=mDAStatics.SolidColorImage(mCDAColor); 
	mDALineStyle = mDAStatics.GetDefaultLineStyle(); 
	mOvalImage=mDAStatics.Oval(50,80).Fill( mDALineStyle ,mCDAImage);
	m_DirectControl.SetImage( mOvalImage);
	m_DirectControl.Start(); 
	return TRUE;  // return TRUE  unless you set the focus to a control
}

Смотрим результат:

5_4.gif (4174 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 16.05.2002