FMXTBitmapManipulationFunctions (C++)
Contents
Description
This example shows how to use the TBitmap manipulation functions and their results.
The TBitmap manipulation functions are the following: ReplaceOpaqueColor, FlipHorizontal, FlipVertical, InvertAlpha, and Rotate.
To build and test this example, create a Multi-Device Application - C++, and add the following on the form:
- Two TImage objects: one to display the initial bitmap, and one to display the results of the manipulation methods.
- A TColorComboBox to choose the color to fill the TBitmapTButton used to call the ReplaceOpaqueColor method.
- A TButton to call FlipHorizontal.
- A TButton to call FlipVertical.
- A TButton to call InvertAlpha.
- A TNumberBox to choose the rotation degree and a TButton to call the Rotate method. Set the TNumberBox.Max property to 360 and the TNumberBox.Min property to -360.
- A TOpenDialog and a TButton to load an image to manipulate.
Code
First of all, add the following code to the OnClick event handlers of the load button so you can open any bitmap you want.
void __fastcall TForm1::Button1Click(TObject *Sender) {
if (OpenDialog1->Execute()) {
Image1->Bitmap->LoadFromFile(OpenDialog1->FileName);
}
}
Add the following code block to the OnClick event handler of the button for ReplaceOpaqueColor.
void __fastcall TForm1::Button2Click(TObject *Sender) {
Image2->Bitmap->Assign(Image1->Bitmap);
Image2->Bitmap->ReplaceOpaqueColor(ColorComboBox1->Color);
}
This is a result example for ReplaceOpaqueColor:
Add the following code block to the OnClick event handler of the button for FlipHorizontal.
void __fastcall TForm1::Button3Click(TObject *Sender) {
Image2->Bitmap->Assign(Image1->Bitmap);
Image2->Bitmap->FlipHorizontal();
}
This is a result example for FlipHorizontal:
Add the following code block to the OnClick event handler of the button for FlipVertical.
void __fastcall TForm1::Button4Click(TObject *Sender) {
Image2->Bitmap->Assign(Image1->Bitmap);
Image2->Bitmap->FlipVertical();
}
This is a result example for FlipVertical:
Add the following code block to the OnClick event handler of the button for InvertAlpha.
void __fastcall TForm1::Button6Click(TObject *Sender) {
Image2->Bitmap->Assign(Image1->Bitmap);
// To see any changes, make sure that the image you are manipulating is already transparent.
// Otherwise, if the image is solid, the result of InvertAlpha is a completely transparent image.
Image2->Bitmap->InvertAlpha();
}
This is a result example for InvertAlpha:
Add the following code block to the OnClick event handler of the button for Rotate.
void __fastcall TForm1::Button5Click(TObject *Sender) {
Image2->Bitmap->Assign(Image1->Bitmap);
Image2->Bitmap->Rotate(NumberBox1->Value);
}
This is a result example for Rotate:
Uses
- TBitmap.ReplaceOpaqueColor ( fr | de | ja )
- TBitmap.FlipHorizontal ( fr | de | ja )
- TBitmap.FlipVertical ( fr | de | ja )
- TBitmap.InvertAlpha ( fr | de | ja )
- TBitmap.Rotate ( fr | de | ja )
See Also
- TImage.Bitmap ( fr | de | ja )
- Objects.TImage ( fr | de | ja )
- Delphi version of this example