Mercurial > hg > orthanc-stone
comparison Applications/Samples/SingleFrameEditorApplication.h @ 1196:a5f2a6b04a31
RadiographyScene: windowing is now only applied to the Dicom layer
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 27 Nov 2019 17:51:33 +0100 |
parents | 141593f1aa88 |
children | a34ba19d2060 |
comparison
equal
deleted
inserted
replaced
1191:c6a36ecd641d | 1196:a5f2a6b04a31 |
---|---|
36 #include "../../Framework/Radiography/RadiographySceneReader.h" | 36 #include "../../Framework/Radiography/RadiographySceneReader.h" |
37 #include "../../Framework/Radiography/RadiographyMaskLayer.h" | 37 #include "../../Framework/Radiography/RadiographyMaskLayer.h" |
38 #include "../../Framework/Toolbox/TextRenderer.h" | 38 #include "../../Framework/Toolbox/TextRenderer.h" |
39 | 39 |
40 #include <Core/HttpClient.h> | 40 #include <Core/HttpClient.h> |
41 #include <Core/Images/FontRegistry.h> | |
42 #include <Core/Logging.h> | 41 #include <Core/Logging.h> |
43 #include <Core/OrthancException.h> | 42 #include <Core/OrthancException.h> |
44 #include <Core/Images/PngWriter.h> | 43 #include <Core/Images/PngWriter.h> |
45 #include <Core/Images/PngReader.h> | 44 #include <Core/Images/PngReader.h> |
46 | 45 |
316 LOG(INFO) << "JSON export was successful: " | 315 LOG(INFO) << "JSON export was successful: " |
317 << snapshot.toStyledString(); | 316 << snapshot.toStyledString(); |
318 | 317 |
319 boost::shared_ptr<RadiographyScene> scene(new RadiographyScene(GetBroker())); | 318 boost::shared_ptr<RadiographyScene> scene(new RadiographyScene(GetBroker())); |
320 RadiographySceneReader reader(*scene, context_->GetOrthancApiClient()); | 319 RadiographySceneReader reader(*scene, context_->GetOrthancApiClient()); |
321 | |
322 Orthanc::FontRegistry fontRegistry; | |
323 fontRegistry.AddFromResource(Orthanc::EmbeddedResources::FONT_UBUNTU_MONO_BOLD_16); | |
324 | |
325 reader.SetFontRegistry(fontRegistry); | |
326 reader.Read(snapshot); | 320 reader.Read(snapshot); |
327 | 321 |
328 widget.SetScene(scene); | 322 widget.SetScene(scene); |
329 };break; | 323 };break; |
330 | 324 |
491 } | 485 } |
492 | 486 |
493 std::string instance = parameters["instance"].as<std::string>(); | 487 std::string instance = parameters["instance"].as<std::string>(); |
494 //int frame = parameters["frame"].as<unsigned int>(); | 488 //int frame = parameters["frame"].as<unsigned int>(); |
495 | 489 |
496 fontRegistry_.AddFromResource(Orthanc::EmbeddedResources::FONT_UBUNTU_MONO_BOLD_16); | |
497 | |
498 scene_.reset(new RadiographyScene(GetBroker())); | 490 scene_.reset(new RadiographyScene(GetBroker())); |
499 | 491 |
500 RadiographyLayer& dicomLayer = scene_->LoadDicomFrame(context->GetOrthancApiClient(), instance, 0, false, NULL); | 492 RadiographyLayer& dicomLayer = scene_->LoadDicomFrame(context->GetOrthancApiClient(), instance, 0, false, NULL); |
501 //scene_->LoadDicomFrame(instance, frame, false); //.SetPan(200, 0); | 493 //scene_->LoadDicomFrame(instance, frame, false); //.SetPan(200, 0); |
502 // = scene_->LoadDicomFrame(context->GetOrthancApiClient(), "61f3143e-96f34791-ad6bbb8d-62559e75-45943e1b", 0, false, NULL); | 494 // = scene_->LoadDicomFrame(context->GetOrthancApiClient(), "61f3143e-96f34791-ad6bbb8d-62559e75-45943e1b", 0, false, NULL); |
518 | 510 |
519 { | 511 { |
520 std::auto_ptr<Orthanc::ImageAccessor> renderedTextAlpha(TextRenderer::Render(Orthanc::EmbeddedResources::UBUNTU_FONT, 100, | 512 std::auto_ptr<Orthanc::ImageAccessor> renderedTextAlpha(TextRenderer::Render(Orthanc::EmbeddedResources::UBUNTU_FONT, 100, |
521 "%öÇaA&#")); | 513 "%öÇaA&#")); |
522 RadiographyLayer& layer = scene_->LoadAlphaBitmap(renderedTextAlpha.release(), NULL); | 514 RadiographyLayer& layer = scene_->LoadAlphaBitmap(renderedTextAlpha.release(), NULL); |
523 dynamic_cast<RadiographyAlphaLayer&>(layer).SetForegroundValue(200); | 515 dynamic_cast<RadiographyAlphaLayer&>(layer).SetForegroundValue(200.0f * 256.0f); |
524 } | 516 } |
525 | 517 |
526 { | 518 { |
527 RadiographyLayer& layer = scene_->LoadText(fontRegistry_.GetFont(0), "Hello\nworld", NULL); | 519 RadiographyTextLayer::SetFont(Orthanc::EmbeddedResources::UBUNTU_FONT); |
520 RadiographyLayer& layer = scene_->LoadText("Hello\nworld", 20, 128, NULL); | |
528 layer.SetResizeable(true); | 521 layer.SetResizeable(true); |
529 } | 522 } |
530 | 523 |
531 { | 524 { |
532 RadiographyLayer& layer = scene_->LoadTestBlock(100, 50, NULL); | 525 RadiographyLayer& layer = scene_->LoadTestBlock(100, 50, NULL); |