From Clomosy Docs

No edit summary
No edit summary
Line 1: Line 1:
If you want to add an image within the application, you can use the "TclImage" component. This component is defined as follows.
<div class="alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm" role="alert">
function AddNewImage(AComponent: TCLComponent; xName: string): TclImage;
</div>


AddNewImage (TComponent, xName): TClImage
<span style="color:blue"><b>AComponent</b></span> : The variable name of the defined component is written. Here you should write the component variable name of whatever your component will be in.<br>


<span style="color:blue">''TComponent''</span> : The variable name of the defined component is written. Here you should write the component variable name of whatever your component will be in.
<span style="color:blue"><b>xName</b></span> : The name of the defined image should be written.<br>
 
<span style="color:blue">''xName''</span> : The name of the defined image should be written.


TclImage is used to add an image to a form. Adding visuals to an application makes it more attractive and user-friendly. For example, it can be used to display an application's logo or an explanatory graphic.<br>


<div class="table-responsive">
{| class="wikitable" style="border: 2px solid #c3d7e0"
{| class="wikitable" style="border: 2px solid #c3d7e0"
! style="background-color: #c3d7e0"| Feature !!style="background-color: #c3d7e0"| Use of !!style="background-color: #c3d7e0"|Definition  
! style="background-color: #c3d7e0"| Feature !!style="background-color: #c3d7e0"| Use of !!style="background-color: #c3d7e0"| Definition  
|-
|-
|TclImage || testImg : TclImage; || A variable belonging to the TclImage class is created.
|TclImage || Image1 : TclImage; || A variable belonging to the TclImage class is created.
|-
|-
|AddNewImage ||testImg:= ''MyForm''.AddNewImage(MyForm,'testImg'); || A new Image is added to the form.
|AddNewImage ||Image1 = Form1.AddNewImage(Form1,'Image1'); || A new Image is added to the form.
|-
|-
|setImage ||MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png'); ||It is used if you want to add an image to the Image object.
|setImage ||Form1.setImage(Image1,'https://clomosy.com/demos/bg.png'); ||It is used if you want to add an image to the Image object.
|-
|-
|Clear ||testImg.MultiResBitmap.Clear; ||The Clear method clears images at all resolution levels within a MultiResBitmap property. So, when this method is called, all the images in the MultiResBitmap are deleted and rendered to an empty state.
|Clear ||Image1.MultiResBitmap.Clear; ||The Clear method clears images at all resolution levels within a MultiResBitmap property. So, when this method is called, all the images in the MultiResBitmap are deleted and rendered to an empty state.
|-
|-
|Width || testImg.Width := 150; ||Allows adjusting the width of the image.
|Width || Image1.Width = 150; ||Allows adjusting the width of the image.
|-
|-
|Height || testImg.Height := 50; ||Allows adjusting the height of the image.
|Height || Image1.Height = 50; ||Allows adjusting the height of the image.
|-
|-
|Align  ||testImg.Align := alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.
|Align  ||Image1.Align = alTop; ||With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the [[Object_Properties#Align | page]] to learn about these features.
|-
|-
|Margins ||testImg.Margins.Left:= 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.<br>[[File:TclImageMargins.png|frameless|200px]]
|Margins ||Image1.Margins.Left = 50; // Right, Top, Bottom ||With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.<br>[[File:TclImageMargins.png|frameless|200px]]
|-
|-
| LoadFromFile ||testImg.Bitmap.LoadFromFile('C:\Users\Administrator\Desktop\logo.png') || The LoadFromFile method in Clomosy is used to load an image file and transfer it to a bitmap object. In the example, the expression testImg.Bitmap.LoadFromFile loads an image from a file path into the Bitmap property of a component named testImg.
| LoadFromFile ||Image1.Bitmap.LoadFromFile('C:\Users\Administrator\Desktop\logo.png') || The LoadFromFile method in Clomosy is used to load an image file and transfer it to a bitmap object. In the example, the expression Image1.Bitmap.LoadFromFile loads an image from a file path into the Bitmap property of a component named Image1.
|-
|-
|SaveToStream || testImg.Bitmap.SaveToStream(FileStream); //FileStream:TCLFileStream;  || Bitmap image (TclImage) transfer to TCLFileStream. See the [[TclFileStream | page]] to learn about these features.
|SaveToStream || Image1.Bitmap.SaveToStream(FileStream); //FileStream:TCLFileStream;  || Bitmap image (TclImage) transfer to TCLFileStream. See the [[TclFileStream | page]] to learn about these features.
|-
|-
|LoadFromStream || testImg.Bitmap.LoadFromStream(FileStream); //FileStream:TCLFileStream; || Transferring TCLFileStream data to bitmap image (TclImage). See the [[TclFileStream | page]] to learn about these features.
|LoadFromStream || Image1.Bitmap.LoadFromStream(FileStream); //FileStream:TCLFileStream; || Transferring TCLFileStream data to bitmap image (TclImage). See the [[TclFileStream | page]] to learn about these features.
|}
|}
</div>


<h2>Example 1 </h2><br>
<pre>
var
MyForm:TclForm;
testImg : TclImage;


'''Example 1:'''<br>
{
:'''TRObject Syntax'''
  MyForm = TclForm.Create(Self);
var
testImg= MyForm.AddNewImage(MyForm,'testImg');
  MyForm:TclForm;
testImg.Align = alCenter;
  testImg : TclImage;
testImg.Height = 250;
   
testImg.Width = 300;
{
  MyForm = TclForm.Create(Self);
  testImg= MyForm.AddNewImage(MyForm,'testImg');
  testImg.Align = alCenter;
  testImg.Height = 250;
  testImg.Width = 300;
  MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');
  MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(<nowiki>''Picture clicked.''</nowiki>);');
  MyForm.Run;
}


:'''Base Syntax'''
'''var'''
MyForm:TclForm;
testImg : TclImage;<br>
'''begin'''
MyForm := TclForm.Create(Self);
testImg:= MyForm.AddNewImage(MyForm,'testImg');
testImg.Align := alCenter;
testImg.Height := 250;
testImg.Width := 300;<br>
  MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');
  MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');
  MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(<nowiki>''Picture clicked.''</nowiki>);');
  MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(''Picture clicked.'');');
  MyForm.Run;<br>
  MyForm.Run;
'''end;'''


}
</pre>


<b>Output:</b><br>
[[File:Image.png|frameless|450px]]<br>


'''Output:'''<br>
<h2>Example 2(LoadFromFile):</h2><br>
[[File:Image.png|frameless|450px]]
In the example, a TclForm form is created and an image is downloaded from the internet to display on this form. First, a new TclForm instance named Form1 is created. The Form1.AddAssetFromUrl method is used to download an image from the specified URL to the project’s file directory. Then, a new TclImage instance is added to the form and configured to cover the entire form. The path of the downloaded image file is obtained using Clomosy.AppFilesPath and the Image1.Bitmap.LoadFromFile method is used to load the image.<br>
 
 
'''Example 2(LoadFromFile):'''<br>
In the example, a TclForm form is created and an image is downloaded from the internet to display on this form. First, a new TclForm instance named Form1 is created. The Form1.AddAssetFromUrl method is used to download an image from the specified URL to the project’s file directory. Then, a new TclImage instance is added to the form and configured to cover the entire form. The path of the downloaded image file is obtained using Clomosy.AppFilesPath and the Image1.Bitmap.LoadFromFile method is used to load the image.


:'''TRObject Syntax'''
<pre>
<pre>
var
var
Line 98: Line 82:
</pre>
</pre>


:'''Base Syntax'''
<h2>Example 3 (Save image to file):</h2><br>
<pre>
The example creates a form (TclForm) and an image component (TclImage) and implements a function to load an image from a specific URL and save it to a file. First, Form1 and Image1 objects are created, and the image component is added to the form. The Image1 component is updated with a background image from the specified URL (https://clomosy.com/educa/bg2.png). The SaveFile procedure uses TCLMemoryStream to save the bitmap of Image1 to a memory stream and writes this data to a file (newImgBG.png) in Base64 format. The SaveFile procedure is linked to the click event of Image1, so when the form is run and the user clicks the image, the image is saved to the file. If any errors occur, an error message is displayed.<br>
var
  Form1: TclForm;
  Image1: TclImage;
 
begin
  Form1 := TclForm.Create(self);
  Form1.AddAssetFromUrl('https://clomosy.com/educa/bg2.png');
  try
    Image1 := Form1.AddNewImage(Form1,'Image1');
    Image1.Align := alClient;
    Image1.Bitmap.LoadFromFile(Clomosy.AppFilesPath+'bg2.png'); // Load image from file
    Form1.Run;
  except
    ShowMessage('An error was encountered while uploading the file.');
  end;
end;
</pre>
 
 
'''Example 3 (Save image to file) :'''<br>
The example creates a form (TclForm) and an image component (TclImage) and implements a function to load an image from a specific URL and save it to a file. First, Form1 and Image1 objects are created, and the image component is added to the form. The Image1 component is updated with a background image from the specified URL (https://clomosy.com/educa/bg2.png). The SaveFile procedure uses TCLMemoryStream to save the bitmap of Image1 to a memory stream and writes this data to a file (newImgBG.png) in Base64 format. The SaveFile procedure is linked to the click event of Image1, so when the form is run and the user clicks the image, the image is saved to the file. If any errors occur, an error message is displayed.


:'''TRObject Syntax'''
<pre>
<pre>
var
var
Line 151: Line 113:
}
}
</pre>
</pre>
:'''Base Syntax'''
<pre>
var
  Form1: TclForm;
  Image1: TclImage;
  MemStream: TCLMemoryStream;


procedure SaveFile;
<h2> See Also </h2>
begin
* [[Components]]
    try
* [[Object Properties]]
      MemStream := TCLMemoryStream.Create;
* [[AddNewEvent]]
      Image1.Bitmap.SaveToStream(MemStream);
      // Save image to file
      Clomosy.Base64ToFile(clPathCombine('newImgBG.png',Clomosy.AppFilesPath),MemStream.AsBase64);
    except
      ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
    end;
end;
begin
  Form1 := TclForm.Create(self);
 
    Image1 := Form1.AddNewImage(Form1,'Image1');
    Image1.Align := alClient;
    Form1.SetImage(Image1,'https://clomosy.com/educa/bg2.png');
    Form1.AddNewEvent(Image1,tbeOnClick,'SaveFile');
   
    Form1.Run;
end;
</pre>

Revision as of 08:32, 7 November 2024

AComponent : The variable name of the defined component is written. Here you should write the component variable name of whatever your component will be in.

xName : The name of the defined image should be written.

TclImage is used to add an image to a form. Adding visuals to an application makes it more attractive and user-friendly. For example, it can be used to display an application's logo or an explanatory graphic.

Feature Use of Definition
TclImage Image1 : TclImage; A variable belonging to the TclImage class is created.
AddNewImage Image1 = Form1.AddNewImage(Form1,'Image1'); A new Image is added to the form.
setImage Form1.setImage(Image1,'https://clomosy.com/demos/bg.png'); It is used if you want to add an image to the Image object.
Clear Image1.MultiResBitmap.Clear; The Clear method clears images at all resolution levels within a MultiResBitmap property. So, when this method is called, all the images in the MultiResBitmap are deleted and rendered to an empty state.
Width Image1.Width = 150; Allows adjusting the width of the image.
Height Image1.Height = 50; Allows adjusting the height of the image.
Align Image1.Align = alTop; With the Align parameter, you can specify where you want our component to be aligned in the form. This parameter has multiple positioning properties. See the page to learn about these features.
Margins Image1.Margins.Left = 50; // Right, Top, Bottom With the Margins parameter, you can give margins at any scale from the right, left, bottom, top.
TclImageMargins.png
LoadFromFile Image1.Bitmap.LoadFromFile('C:\Users\Administrator\Desktop\logo.png') The LoadFromFile method in Clomosy is used to load an image file and transfer it to a bitmap object. In the example, the expression Image1.Bitmap.LoadFromFile loads an image from a file path into the Bitmap property of a component named Image1.
SaveToStream Image1.Bitmap.SaveToStream(FileStream); //FileStream:TCLFileStream; Bitmap image (TclImage) transfer to TCLFileStream. See the page to learn about these features.
LoadFromStream Image1.Bitmap.LoadFromStream(FileStream); //FileStream:TCLFileStream; Transferring TCLFileStream data to bitmap image (TclImage). See the page to learn about these features.

Example 1


var
 MyForm:TclForm;
 testImg : TclImage;

{
 MyForm = TclForm.Create(Self);
 testImg= MyForm.AddNewImage(MyForm,'testImg');
 testImg.Align = alCenter;
 testImg.Height = 250;
 testImg.Width = 300;

 MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');
 MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(''Picture clicked.'');');
 MyForm.Run;

}

Output:
Image.png

Example 2(LoadFromFile):


In the example, a TclForm form is created and an image is downloaded from the internet to display on this form. First, a new TclForm instance named Form1 is created. The Form1.AddAssetFromUrl method is used to download an image from the specified URL to the project’s file directory. Then, a new TclImage instance is added to the form and configured to cover the entire form. The path of the downloaded image file is obtained using Clomosy.AppFilesPath and the Image1.Bitmap.LoadFromFile method is used to load the image.

var
  Form1: TclForm;
  Image1: TclImage;

{
  Form1 = TclForm.Create(self);
  Form1.AddAssetFromUrl('https://clomosy.com/educa/bg2.png');
  try
    Image1 = Form1.AddNewImage(Form1,'Image1');
    Image1.Align = alClient;
    Image1.Bitmap.LoadFromFile(Clomosy.AppFilesPath+'bg2.png'); // Load image from file
    Form1.Run;
  except
    ShowMessage('An error was encountered while uploading the file.');
  }
}

Example 3 (Save image to file):


The example creates a form (TclForm) and an image component (TclImage) and implements a function to load an image from a specific URL and save it to a file. First, Form1 and Image1 objects are created, and the image component is added to the form. The Image1 component is updated with a background image from the specified URL (https://clomosy.com/educa/bg2.png). The SaveFile procedure uses TCLMemoryStream to save the bitmap of Image1 to a memory stream and writes this data to a file (newImgBG.png) in Base64 format. The SaveFile procedure is linked to the click event of Image1, so when the form is run and the user clicks the image, the image is saved to the file. If any errors occur, an error message is displayed.

var
  Form1: TclForm;
  Image1: TclImage;
  MemStream: TCLMemoryStream;

void SaveFile;
{
  try
    MemStream = TCLMemoryStream.Create;
    Image1.Bitmap.SaveToStream(MemStream);
    // Save image to file
    Clomosy.Base64ToFile(clPathCombine('newImgBG.png',Clomosy.AppFilesPath),MemStream.AsBase64);
  except
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
  }
}
{
  Form1 = TclForm.Create(self);
  
  Image1 = Form1.AddNewImage(Form1,'Image1');
  Image1.Align = alClient;
  Form1.SetImage(Image1,'https://clomosy.com/educa/bg2.png');
  Form1.AddNewEvent(Image1,tbeOnClick,'SaveFile');
  
  Form1.Run;
}

See Also