Mercurial > hg > orthanc
comparison Plugins/Engine/OrthancPlugins.cpp @ 1608:adc6a5704cdb
OrthancPluginConvertPixelFormat
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 02 Sep 2015 13:58:08 +0200 |
parents | 31f4adefb88f |
children | c74495267acf |
comparison
equal
deleted
inserted
replaced
1607:a1c92fd4d26d | 1608:adc6a5704cdb |
---|---|
40 #include "../../OrthancServer/OrthancInitialization.h" | 40 #include "../../OrthancServer/OrthancInitialization.h" |
41 #include "../../OrthancServer/ServerContext.h" | 41 #include "../../OrthancServer/ServerContext.h" |
42 #include "../../OrthancServer/ServerToolbox.h" | 42 #include "../../OrthancServer/ServerToolbox.h" |
43 #include "../../Core/Compression/ZlibCompressor.h" | 43 #include "../../Core/Compression/ZlibCompressor.h" |
44 #include "../../Core/Compression/GzipCompressor.h" | 44 #include "../../Core/Compression/GzipCompressor.h" |
45 #include "../../Core/ImageFormats/Image.h" | |
45 #include "../../Core/ImageFormats/PngReader.h" | 46 #include "../../Core/ImageFormats/PngReader.h" |
46 #include "../../Core/ImageFormats/PngWriter.h" | 47 #include "../../Core/ImageFormats/PngWriter.h" |
47 #include "../../Core/ImageFormats/JpegReader.h" | 48 #include "../../Core/ImageFormats/JpegReader.h" |
48 #include "../../Core/ImageFormats/JpegWriter.h" | 49 #include "../../Core/ImageFormats/JpegWriter.h" |
50 #include "../../Core/ImageFormats/ImageProcessing.h" | |
49 | 51 |
50 #include <boost/regex.hpp> | 52 #include <boost/regex.hpp> |
51 | 53 |
52 namespace Orthanc | 54 namespace Orthanc |
53 { | 55 { |
1166 CopyToMemoryBuffer(*p.target, s); | 1168 CopyToMemoryBuffer(*p.target, s); |
1167 } | 1169 } |
1168 } | 1170 } |
1169 | 1171 |
1170 | 1172 |
1173 void OrthancPlugins::ConvertPixelFormat(const void* parameters) | |
1174 { | |
1175 const _OrthancPluginConvertPixelFormat& p = *reinterpret_cast<const _OrthancPluginConvertPixelFormat*>(parameters); | |
1176 const ImageAccessor& source = *reinterpret_cast<const ImageAccessor*>(p.source); | |
1177 | |
1178 std::auto_ptr<ImageAccessor> target(new Image(Convert(p.targetFormat), source.GetWidth(), source.GetHeight())); | |
1179 ImageProcessing::Convert(*target, source); | |
1180 | |
1181 *(p.target) = reinterpret_cast<OrthancPluginImage*>(target.release()); | |
1182 } | |
1183 | |
1184 | |
1171 bool OrthancPlugins::InvokeService(_OrthancPluginService service, | 1185 bool OrthancPlugins::InvokeService(_OrthancPluginService service, |
1172 const void* parameters) | 1186 const void* parameters) |
1173 { | 1187 { |
1174 VLOG(1) << "Calling plugin service: " << service; | 1188 VLOG(1) << "Calling plugin service: " << service; |
1175 | 1189 |
1528 | 1542 |
1529 case _OrthancPluginService_CallHttpClient: | 1543 case _OrthancPluginService_CallHttpClient: |
1530 CallHttpClient(parameters); | 1544 CallHttpClient(parameters); |
1531 return true; | 1545 return true; |
1532 | 1546 |
1547 case _OrthancPluginService_ConvertPixelFormat: | |
1548 ConvertPixelFormat(parameters); | |
1549 return true; | |
1550 | |
1533 default: | 1551 default: |
1534 { | 1552 { |
1535 // This service is unknown to the Orthanc plugin engine | 1553 // This service is unknown to the Orthanc plugin engine |
1536 return false; | 1554 return false; |
1537 } | 1555 } |