mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
recolor_image function can now be used with custom colors
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1477 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
Function: flip_horizontal
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> flip_horizontal(input: image)
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Function: flip_vertical
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> flip_vertical(input: image)
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Function: invert_image
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> invert_image(input: image)
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
Function: recolor_image
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> recolor_image(input: image, color: color)
|
||||
> recolor_image(input: image, red: color, green: color, blue: color, white: color)
|
||||
|
||||
Re-color an image:
|
||||
* Red is replaced by the color
|
||||
@@ -13,14 +16,26 @@ Re-color an image:
|
||||
This function is mostly intended to make symbols in a symbol font wich can match the text color.
|
||||
|
||||
|
||||
|
||||
--Parameters--
|
||||
! Parameter Type Description
|
||||
| @input@ [[type:image]] Image to recolor.
|
||||
| @color@ [[type:color]] Color by which to replace red.
|
||||
|
||||
Or
|
||||
! Parameter Type Description
|
||||
| @input@ [[type:image]] Image to recolor.
|
||||
| @red@ [[type:color]] Color by which to replace red.
|
||||
| @green@ [[type:color]] Color by which to replace green.
|
||||
| @blue@ [[type:color]] Color by which to replace blue.
|
||||
| @white@ [[type:color]] Color by which to replace white.
|
||||
|
||||
|
||||
--Examples--
|
||||
> recolor_image("symbol1.png", color: rgb(180,0,0)) == [[Image]]
|
||||
> recolor_image("symbol1.png", color: rgb(180,0,0)) == [[Image]]
|
||||
>>> recolor_image(<img src="symbol1.png" alt='"symbol1.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />, color: rgb(180,0,0)) == <img src="symbol1_red.png" alt='"symbol1_red.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />
|
||||
> recolor_image("symbol1.png", color: rgb(100,255,0)) == [[Image]]
|
||||
> recolor_image("symbol1.png", color: rgb(100,255,0)) == [[Image]]
|
||||
>>> recolor_image(<img src="symbol1.png" alt='"symbol1.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />, color: rgb(100,255,0)) == <img src="symbol1_green.png" alt='"symbol1_green.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />
|
||||
|
||||
Custom choices for green, blue and white are also possible:
|
||||
>>> recolor_image(<img src="symbol1.png" alt='"symbol1.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />, red:rgb(0,170,0), green:rgb(200,0,255), blue:rgb(128,0,0), white:rgb(220,255,0))
|
||||
>>> == <img src="symbol1_recolor_custom.png" alt='"symbol1_recolor_custom.png"' style="border:1px solid black;vertical-align:middle;margin:1px;" />
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Function: flip_vertical
|
||||
Function: rotate
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> rotate(input: image, angle: some_number)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Function: saturate
|
||||
|
||||
DOC_MSE_VERSION: since 0.3.9
|
||||
|
||||
--Usage--
|
||||
> saturate(input: image, amount: saturation amount)
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
@@ -221,6 +221,20 @@ bool RecolorImage::operator == (const GeneratedImage& that) const {
|
||||
&& color == that2->color;
|
||||
}
|
||||
|
||||
Image RecolorImage2::generate(const Options& opt) const {
|
||||
Image img = image->generate(opt);
|
||||
recolor(img, red,green,blue,white);
|
||||
return img;
|
||||
}
|
||||
bool RecolorImage2::operator == (const GeneratedImage& that) const {
|
||||
const RecolorImage2* that2 = dynamic_cast<const RecolorImage2*>(&that);
|
||||
return that2 && *image == *that2->image
|
||||
&& red == that2->red
|
||||
&& green == that2->green
|
||||
&& blue == that2->blue
|
||||
&& white == that2->white;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------- : FlipImage
|
||||
|
||||
Image FlipImageHorizontal::generate(const Options& opt) const {
|
||||
|
||||
@@ -227,6 +227,17 @@ class RecolorImage : public SimpleFilterImage {
|
||||
private:
|
||||
Color color;
|
||||
};
|
||||
/// Recolor an image, with custom colors
|
||||
class RecolorImage2 : public SimpleFilterImage {
|
||||
public:
|
||||
inline RecolorImage2(const GeneratedImageP& image, Color red, Color green, Color blue, Color white)
|
||||
: SimpleFilterImage(image), red(red), green(green), blue(blue), white(white)
|
||||
{}
|
||||
virtual Image generate(const Options& opt) const;
|
||||
virtual bool operator == (const GeneratedImage& that) const;
|
||||
private:
|
||||
Color red,green,blue,white;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------- : FlipImage
|
||||
|
||||
|
||||
@@ -93,8 +93,15 @@ SCRIPT_FUNCTION(invert_image) {
|
||||
|
||||
SCRIPT_FUNCTION(recolor_image) {
|
||||
SCRIPT_PARAM_C(GeneratedImageP, input);
|
||||
SCRIPT_PARAM(Color, color);
|
||||
return intrusive(new RecolorImage(input,color));
|
||||
SCRIPT_OPTIONAL_PARAM(Color, red) {
|
||||
SCRIPT_PARAM(Color, green);
|
||||
SCRIPT_PARAM(Color, blue);
|
||||
SCRIPT_PARAM_DEFAULT(Color, white, *wxWHITE);
|
||||
return intrusive(new RecolorImage2(input,red,green,blue,white));
|
||||
} else {
|
||||
SCRIPT_PARAM(Color, color);
|
||||
return intrusive(new RecolorImage(input,color));
|
||||
}
|
||||
}
|
||||
|
||||
SCRIPT_FUNCTION(enlarge) {
|
||||
|
||||
Reference in New Issue
Block a user