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);