]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Bug #295: TIFF files are shown in grayscale mode.
authormzn <mzn@opencascade.com>
Thu, 26 Dec 2013 14:00:26 +0000 (14:00 +0000)
committermzn <mzn@opencascade.com>
Thu, 26 Dec 2013 14:00:26 +0000 (14:00 +0000)
src/HYDROData/HYDROData_Image.cxx
src/HYDROGUI/resources/HYDROGUI_msg_en.ts

index 1a0bec79ebd2b0251d9023a07cfc1f42eb716887..0d1d5bcb07dfcd3c8dc070e856bc69071fdd90bb 100644 (file)
@@ -242,18 +242,27 @@ void HYDROData_Image::SetImage(const QImage& theImage)
   }
   else
   {
+    QImage anImage;
+
+    // convert 8-bits images
+    if ( theImage.format() == QImage::Format_Indexed8 ) {
+      anImage = theImage.convertToFormat( QImage::Format_RGB32 );
+    } else {
+      anImage = theImage;
+    }
+
     // store width, height, bytes per line and format in integer array 
     Handle(TDataStd_IntegerArray) aParams;
     if (!myLab.FindAttribute(TDataStd_IntegerArray::GetID(), aParams)) {
       aParams = TDataStd_IntegerArray::Set(myLab, 1, 4);
     }
-    aParams->SetValue(1, theImage.width());
-    aParams->SetValue(2, theImage.height());
-    aParams->SetValue(3, theImage.bytesPerLine());
-    aParams->SetValue(4, (int)(theImage.format()));
+    aParams->SetValue(1, anImage.width());
+    aParams->SetValue(2, anImage.height());
+    aParams->SetValue(3, anImage.bytesPerLine());
+    aParams->SetValue(4, (int)(anImage.format()));
     // store data of image in byte array
-    const char* aData = (const char*)(theImage.bits());
-    SaveByteArray(0, aData, theImage.byteCount());
+    const char* aData = (const char*)(anImage.bits());
+    SaveByteArray(0, aData, anImage.byteCount());
   }
 
   SetToUpdate( true );
index 462d0c508fbcd5334232039475d14e367ee26254..e4af51583e7c50e9880465303ee579f5481aa65e 100644 (file)
@@ -110,7 +110,7 @@ does not exist or you have not enough permissions to open it.</translation>
     </message>
     <message>
       <source>IMAGE_FILTER</source>
-      <translation>Image files (*.bmp *.jpg *.jpeg *.png);;All files (*.* *)</translation>
+      <translation>Image files (*.bmp *.jpg *.jpeg *.png *.tif);;All files (*.* *)</translation>
     </message>
     <message>
       <source>INCORRECT_OBJECT_NAME</source>