FMXTBitmapManipulationFunctions (Delphi)
Contents
Description
This example shows how to use the TBitmap manipulation functions and their results.
The TBitmap manipulation functions are: ReplaceOpaqueColor, FlipHorizontal, FlipVertical, InvertAlpha, Rotate.
To build and test this example, create a Multi-Device Application - Delphi, 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 TBitmap.
- 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 be manipulated.
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.
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
end;
end;
Add the following code to the OnClick event handler of the button for ReplaceOpaqueColor.
procedure TForm1.Button2Click(Sender: TObject);
begin
Image2.Bitmap.Assign(Image1.Bitmap);
Image2.Bitmap.ReplaceOpaqueColor(ColorComboBox1.Color);
end;
This is a result example for ReplaceOpaqueColor:
Add the following code to the OnClick event handler of the button for FlipVertical.
procedure TForm1.Button3Click(Sender: TObject);
begin
Image2.Bitmap.Assign(Image1.Bitmap);
Image2.Bitmap.FlipHorizontal;
end;
This is a result example for FlipHorizontal:
Add the following code to the OnClick event handler of the button for FlipHorizontal.
procedure TForm1.Button4Click(Sender: TObject);
begin
Image2.Bitmap.Assign(Image1.Bitmap);
Image2.Bitmap.FlipHorizontal;
end;
This is a result example for FlipVertical:
Add the following code to the OnClick event handler of the button for InvertAlpha.
procedure TForm1.Button5Click(Sender: TObject);
begin
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;
end;
This is a result example for InvertAlpha:
Add the following code to the OnClick event handler of the button for Rotate.
procedure TForm1.Button6Click(Sender: TObject);
begin
Image2.Bitmap.Assign(Image1.Bitmap);
Image2.Bitmap.Rotate(NumberBox1.Value);
end;
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 )
- C++ version of this example