Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:imgmagick [2012/05/11 13:23] alfred |
fw:imgmagick [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| * Para utilizarlo deberemos instalar el paquete ''libmagick++'' y, al compilar con g++, agregaremos los siguientes parámetros: ''-I/usr/include/ImageMagick/ -lMagick++'' | * Para utilizarlo deberemos instalar el paquete ''libmagick++'' y, al compilar con g++, agregaremos los siguientes parámetros: ''-I/usr/include/ImageMagick/ -lMagick++'' | ||
| * Documentación [[http://www.imagemagick.org/Magick++/Documentation.html]]. | * Documentación [[http://www.imagemagick.org/Magick++/Documentation.html]]. | ||
| + | |||
| + | |||
| + | |||
| Línea 39: | Línea 42: | ||
| Se utilizan los objetos ''Drawable''. | Se utilizan los objetos ''Drawable''. | ||
| <code cpp> | <code cpp> | ||
| + | Image image( Geometry(300,200), Color("white") ); | ||
| + | |||
| + | image.strokeColor("red"); // Outline color | ||
| + | image.fillColor("green"); // Fill color | ||
| + | image.strokeWidth(5); | ||
| + | |||
| + | image.draw( DrawableCircle(100,100, 50,100) ); | ||
| + | image.draw( DrawableRectangle(200,200, 270,170) ); | ||
| + | image.display( ); | ||
| + | </code> | ||
| + | |||
| + | === Dibujo de polígonos === | ||
| + | <code cpp> | ||
| + | img->strokeColor("blue"); | ||
| + | img->strokeWidth(3); | ||
| + | img->fillColor(rgb); | ||
| + | |||
| + | list<Coordinate> coords; | ||
| + | for (int j=0; j<p.nvertices; j++) | ||
| + | coords.push_back(Coordinate(p.vertices[j].x, p.vertices[j].y)); | ||
| + | img->draw(DrawablePolygon(coords)); | ||
| + | </code> | ||
| + | |||
| + | === Escoger color RGB === | ||
| + | <code cpp> | ||
| + | char rgb[20]; | ||
| + | sprintf(rgb,"rgb(%d,%d,%d)",colors[orient][0], colors[orient][1], colors[orient][2]); | ||
| + | img->fillColor(rgb); | ||
| + | </code> | ||
| + | |||
| + | === Recoger valores RGB === | ||
| + | <code cpp> | ||
| + | mat matrix(img.rows()*img.columns(), 3); | ||
| + | Pixels view(img); | ||
| + | PixelPacket *pixels = view.get(0,0,img.columns(), img.rows()); | ||
| + | PixelPacket *pixel; | ||
| + | int idx = 0; | ||
| + | ColorRGB rgb; | ||
| + | for (unsigned int row = 0; row < img.rows(); ++row) { | ||
| + | for (unsigned int column = 0; column < img.columns(); ++column ) { | ||
| + | pixel = pixels+row*img.columns()+column; | ||
| + | rgb = ColorRGB(*pixel); | ||
| + | matrix(idx, 0) = (pixel->red*255)/MaxRGB; | ||
| + | matrix(idx, 1) = (pixel->green*255)/MaxRGB; | ||
| + | matrix(idx, 2) = (pixel->blue*255)/MaxRGB; | ||
| + | idx++; | ||
| + | } | ||
| + | } | ||
| </code> | </code> | ||