Changeset 587 for trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
- Timestamp:
- Sep 26, 2007, 3:29:10 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r586 r587 958 958 ) 959 959 { 960 960 // FIXME 961 961 printf("saving EPS\n"); 962 962 963 963 FILE* fp; 964 964 aInColor = 3; 965 965 966 const uchar * pixels = aImage.bits (); 966 967 // pixels = grabPixels (inColour, width, height); … … 977 978 fprintf (fp, "%%%%Title: %s\n", aFilename.toStdString().c_str()); 978 979 fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n"); 979 fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", fWindow->width(), fWindow->height());980 fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", aImage.width(), aImage.height()); 980 981 fprintf (fp, "%%%%EndComments\n"); 981 982 fprintf (fp, "gsave\n"); … … 999 1000 fprintf (fp, " } def\n"); 1000 1001 fprintf (fp, "} if\n"); 1001 fprintf (fp, "/picstr %d string def\n", fWindow->width() * aInColor);1002 fprintf (fp, "%d %d scale\n", fWindow->width(), fWindow->height());1003 fprintf (fp, "%d %d %d\n", fWindow->width(), fWindow->height(), 8);1004 fprintf (fp, "[%d 0 0 %d 0 0]\n", fWindow->width(), fWindow->height());1002 fprintf (fp, "/picstr %d string def\n", aImage.width() * aInColor); 1003 fprintf (fp, "%d %d scale\n", aImage.width(), aImage.height()); 1004 fprintf (fp, "%d %d %d\n", aImage.width(), aImage.height(), 8); 1005 fprintf (fp, "[%d 0 0 %d 0 0]\n", aImage.width(), aImage.height()); 1005 1006 fprintf (fp, "{currentfile picstr readhexstring pop}\n"); 1006 1007 fprintf (fp, "false %d\n", aInColor); … … 1008 1009 fprintf (fp, "colorimage\n"); 1009 1010 1010 printf("boucle jusque :%d/%d par ligne:%d \n",fWindow->width()*fWindow->height()*aInColor,aImage.numBytes(),aImage.bytesPerLine ()); 1011 1012 int pos =0; 1013 for (int i = 0;i<fWindow->width()*fWindow->height()*aInColor; i++) { 1014 fprintf (fp, "%02hx ", pixels[i]); 1015 if (++pos >= aImage.bytesPerLine ()) { 1011 printf("boucle jusque :%d/%d par ligne:%d \n",aImage.width()*aImage.height()*aInColor,aImage.numBytes(),aImage.bytesPerLine ()); 1012 1013 QRgb color; 1014 if (aInColor == 3) { // for RGB images 1015 for (int j=aImage.height()-1;j>=0;j--){ 1016 for (int i=0;i<aImage.width();i++){ 1017 color = aImage.pixel (i,j); 1018 fprintf (fp, " %02hx %02hx %02hx",qBlue(color),qGreen(color),qRed(color)); 1019 } 1016 1020 fprintf (fp, "\n"); 1017 pos = 0; 1021 } 1022 } else if (aInColor == 4) { 1023 // for RGB images 1024 for (int j=aImage.height()-1;j>=0;j--){ 1025 for (int i=0;i<aImage.width();i++){ 1026 color = aImage.pixel (i,j); 1027 fprintf (fp, " %02hx %02hx %02hx %02hx",qAlpha(color), qRed(color),qGreen(color),qBlue(color)); 1028 } 1029 fprintf (fp, "\n"); 1018 1030 } 1019 1031 } 1020 1021 if (pos) 1022 fprintf (fp, "\n"); 1032 else if (aInColor == 1) { // for grayscale 1033 } 1023 1034 1024 1035 fprintf (fp, "grestore\n");
Note: See TracChangeset
for help on using the changeset viewer.