From Clomosy Docs

No edit summary
No edit summary
 
(7 intermediate revisions by 2 users not shown)
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> : Specifies the parent of the object to be defined.<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 || 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.
|-
|-
|TclImage || testImg : TclImage; || A variable belonging to the TclImage class is created.
|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.
|-
|-
|AddNewImage ||testImg:= ''MyForm''.AddNewImage(MyForm,'testImg'); || A new Image is added to the form.
|Width || Image1.Width = 150; ||Allows adjusting the width of the image.
|-
|-
|setImage ||MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png'); ||It is used if you want to add an image to the Image object.
|Height || Image1.Height = 50; ||Allows adjusting the height of the image.
|-
|-
|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.
|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.
|-
|-
|Width || testImg.Width := 150; ||Allows adjusting the width of the image.
|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]]
|-
|-
|Height || testImg.Height := 50; ||Allows adjusting the height of the image.
| 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.
|-
|-
|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.
|SaveToStream || Image1.Bitmap.SaveToStream(FileStream); //FileStream:TCLFileStream; || Bitmap image (TclImage) transfer to TCLFileStream. See the [[TclFileStream | 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]]
|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;


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


'''Example:'''<br>
:'''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>
 
<h2>Example 2 (LoadFromFile):</h2><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.<br>
 
<pre>
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.');
  }
}
</pre>
 
<h2>Example 3 (Save image to file):</h2><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.<br>
 
<pre>
var
  Form1: TclForm;
  Image1: TclImage;
  MemStream: TCLMemoryStream;


:'''TRObject Syntax'''
void SaveFile;
var
{
  MyForm:TclForm;
  try
   testImg : TclImage;
    MemStream = TCLMemoryStream.Create;
    Image1.Bitmap.SaveToStream(MemStream);
{
    // Save image to file
   MyForm = TclForm.Create(Self);
    Clomosy.Base64ToFile(clPathCombine('newImgBG.png',Clomosy.AppFilesPath),MemStream.AsBase64);
   testImg= MyForm.AddNewImage(MyForm,'testImg');
  except
   testImg.Align = alCenter;
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
   testImg.Height = 250;
   }
  testImg.Width = 300;
}
{
  MyForm.setImage(testImg,'https://clomosy.com/demos/bg.png');
   Form1 = TclForm.Create(self);
   MyForm.AddNewEvent(testImg,tbeOnClick,'ShowMessage(<nowiki>''Picture clicked.''</nowiki>);');
    
   MyForm.Run;
  Image1 = Form1.AddNewImage(Form1,'Image1');
   Image1.Align = alClient;
}
   Form1.SetImage(Image1,'https://clomosy.com/educa/bg2.png');
   Form1.AddNewEvent(Image1,tbeOnClick,'SaveFile');
    
  Form1.Run;
}
</pre>


'''Output:'''<br>
<h2> See Also </h2>
[[File:Image.png|frameless|450px]]
* [[Components]]
* [[Object Properties]]
* [[AddNewEvent]]
{{#seo:|title=TclImage Using in Clomosy - Clomosy Docs}}
{{#seo:|description=Learn how to use TclImage in Clomosy to add and manage images with features like alignment, margins, loading, and saving, enhancing application visuals.}}

Latest revision as of 15:10, 24 December 2024

AComponent : Specifies the parent of the object to be defined.

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