16 #ifndef polybori_groebner_draw_matrix_h_
17 #define polybori_groebner_draw_matrix_h_
27 #ifdef PBORI_HAVE_M4RI_PNG
38 if ((mat->ncols == 0) || (mat->nrows == 0)) {
39 std::cerr <<
"0-dimensional matrix cannot be drawed, skipping "<< filename<<
"" <<std::endl;
43 #ifdef PBORI_HAVE_M4RI_PNG
45 int err = mzd_to_png(mat, filename, 9,
"Generated by PolyBoRi", 0);
49 throw std::runtime_error(
"Error writing png");
51 #elif defined(PBORI_HAVE_GD)
55 gdImagePtr im = gdImageCreate(c, r) ;
56 FILE * out = fopen(filename,
"wb") ;
57 int black = gdImageColorAllocate(im, 0, 0, 0) ;
58 int white = gdImageColorAllocate(im, 255, 255, 255);
59 gdImageFilledRectangle(im, 0, 0, c-1, r-1, white) ;
63 if (mzd_read_bit(mat, i, j))
64 gdImageSetPixel(im, j, i, black );
73 std::cerr<<
"warning: for drawing matrices compile with png support";
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
void draw_matrix(mzd_t *mat, const char *filename)
Definition: draw_matrix.h:36
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15