support of unicode strings in saveImage function
This commit is contained in:
parent
6f4f92019a
commit
ae8db048b6
|
@ -731,10 +731,13 @@ Py::Object View3DInventorPy::saveImage(const Py::Tuple& args)
|
||||||
char *cFileName,*cColor="Current",*cComment="$MIBA";
|
char *cFileName,*cColor="Current",*cComment="$MIBA";
|
||||||
int w=-1,h=-1;
|
int w=-1,h=-1;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args.ptr(), "s|iiss",&cFileName,&w,&h,&cColor,&cComment))
|
if (!PyArg_ParseTuple(args.ptr(), "et|iiss","utf-8",&cFileName,&w,&h,&cColor,&cComment))
|
||||||
throw Py::Exception();
|
throw Py::Exception();
|
||||||
|
|
||||||
QFileInfo fi(QString::fromUtf8(cFileName));
|
std::string encodedName = std::string(cFileName);
|
||||||
|
PyMem_Free(cFileName);
|
||||||
|
QFileInfo fi(QString::fromUtf8(encodedName.c_str()));
|
||||||
|
|
||||||
if (!fi.absoluteDir().exists())
|
if (!fi.absoluteDir().exists())
|
||||||
throw Py::RuntimeError("Directory where to save image doesn't exist");
|
throw Py::RuntimeError("Directory where to save image doesn't exist");
|
||||||
|
|
||||||
|
@ -762,7 +765,7 @@ Py::Object View3DInventorPy::saveImage(const Py::Tuple& args)
|
||||||
|
|
||||||
SoFCOffscreenRenderer& renderer = SoFCOffscreenRenderer::instance();
|
SoFCOffscreenRenderer& renderer = SoFCOffscreenRenderer::instance();
|
||||||
SoCamera* cam = _view->getViewer()->getSoRenderManager()->getCamera();
|
SoCamera* cam = _view->getViewer()->getSoRenderManager()->getCamera();
|
||||||
renderer.writeToImageFile(cFileName, cComment, cam->getViewVolume().getMatrix(), img);
|
renderer.writeToImageFile(encodedName.c_str(), cComment, cam->getViewVolume().getMatrix(), img);
|
||||||
|
|
||||||
return Py::None();
|
return Py::None();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user