Adds Crop and Watermark mutations
This commit is contained in:
+37
@@ -101,4 +101,41 @@ public:
|
||||
string ToString() {
|
||||
return "Brighten";
|
||||
}
|
||||
};
|
||||
|
||||
//shaves off some pixels from the bottomright edge of the image
|
||||
class Crop : public Mutation {
|
||||
public:
|
||||
Image * getMutated(Image* img) {
|
||||
Image* mut = new Image(*img);
|
||||
ssize_t n = mut->rows();
|
||||
ssize_t m = mut->columns();
|
||||
float shave = 0.1;
|
||||
n *= 1.0 - shave;
|
||||
m *= 1.0 - shave;
|
||||
mut->crop(Geometry(m, n, 0, 0));
|
||||
return mut;
|
||||
}
|
||||
string ToString() {
|
||||
return "Crop";
|
||||
}
|
||||
};
|
||||
|
||||
//Adds a logo to the top-left corner of the image
|
||||
class Watermark : public Mutation {
|
||||
public:
|
||||
Watermark() {
|
||||
watermark = new Image;
|
||||
watermark->read("watermark.png");
|
||||
}
|
||||
Image * getMutated(Image* img) {
|
||||
Image* mut = new Image(*img);
|
||||
mut->composite(*watermark, "+10+10", OverCompositeOp);
|
||||
return mut;
|
||||
}
|
||||
string ToString() {
|
||||
return "Watermark";
|
||||
}
|
||||
private:
|
||||
Image* watermark;
|
||||
};
|
||||
Reference in New Issue
Block a user