Тема: Переход с IeImg на Atil
Помогите разобратся – как используя Atil узнать RGB пикселя изображения загруженого в акад. Делаю так:
#include "AtilDefs.h"
#include "Image.h"
#include "RowProviderInterface.h"
#include "DataBuffer.h"
. . . . .
ads_name ss;
ads_point p1,p2;
ACHAR * prompt[2];
ACHAR *st1=_T("Выберите рисунок для обработки:");
ACHAR *st2=_T("");
prompt[0]=st1;
prompt[1]=st2;
if(acedSSGet(_T("_:$"),prompt,NULL,NULL,ss)!=RTNORM)
return;
ads_name en1;
AcDbObjectId id1;
acedSSName(ss,0,en1);
acdbGetObjectId(id1,en1);
AcDbObjectPointer<AcDbObject> pObjS(id1,AcDb::kForRead);
if(_tcscmp(pObjS->isA()->name(),_T("AcDbRasterImage")))
{MessageBox(GetFocus(),_T("Выбранный объект не является растровым изображением!"),_T("Ошибка выбора растра"),MB_OK|MB_ICONERROR);pObjS->close();return;}
pObjS->close();acedSSFree(ss);
AcDbObjectPointer<AcDbRasterImage> pRImg(id1,AcDb::kForRead);
pRImg->imageDefId();
AcDbObjectPointer<AcDbRasterImageDef> pImgDef(pRImg->imageDefId(),AcDb::kForRead);
pRImg->close();
Atil::RowProviderInterface *row;
Atil::Size *size1=new Atil::Size(100,100);
Atil::Offset *offset1=new Atil::Offset(0,0);
Atil::Image *iii=pImgDef->imageCopy();
pImgDef->close();
row=iii->read(*size1,*offset1);
Atil::DataBuffer *data1=new Atil::DataBuffer(10);
На последней строчке ошыбка:
acrxEntryPoint.obj : error LNK2019: unresolved external symbol "public: __thiscall Atil::DataBuffer::DataBuffer(int)" (??0DataBuffer@Atil@@QAE@H@Z) referenced in function "public: static void __cdecl CArxProject111App::Dp28ArxProject111_a(void)" (?Dp28ArxProject111_a@CArxProject111App@@SAXXZ)
Ну и как дальше?
row->getNextRow(*data1);?
AutoCAD Civil 3D 2008 B.51.0 (UNICODE)
ARX08x32