PHP | imagecolorclosestalpha() Function
Last Updated :
10 Sep, 2021
The imagecolorclosestalpha() function is an inbuilt function in PHP which is used to get the index of closest color with alpha value in the given image. This function returns the index of the color in the palette of the image which is closest to the specified RGB value and alpha level. The alpha value represents the transparency of the image.
Syntax:
int imagecolorclosestalpha ( $image, $red, $green, $blue, $alpha )
Parameters: This function accepts five parameters as mentioned above and described below:
- $image: It is returned by one of the image creation functions, such as imagecreatetruecolor(). It is used to create size of image.
- $red: This parameter is used to set value of red color component.
- $green: This parameter is used to set value of green color component.
- $blue: This parameter is used to set value of blue color component.
- $alpha: This parameter is used to set the transparency of image. The value of $alpha lies between 0 to 127 where 0 represents completely opaque while 127 represents completely transparent.
Return Value: This function returns the index of the closest color in the palette.
Below programs illustrate the imagecolorclosestalpha() function in PHP:
Program 1:
PHP
<?php
// Convert an image into a palette-based image
$image = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/col1.png');
imagetruecolortopalette($image, false, 255);
// Find closest color in image
$output = imagecolorclosestalpha($image, 155, 40, 200, 50);
$output = imagecolorsforindex($image, $output);
$output = "({$output['red']}, {$output['green']},
{$output['blue']}, {$output['alpha']})";
echo "Closest match: " . $output . "\n";
imagedestroy($image);
?>
Output:
Closest match: (100, 58, 108, 0)
Program 2:
PHP
<?php
// Convert an image into a palette-based image
$image = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/col1.png');
imagetruecolortopalette($image, false, 255);
// Search the given rgb color.
$color = array(
array(155, 40, 200, 50),
array(235, 205, 188, 127),
array(135, 00, 132, 0),
);
// Loop to return the closest color match.
foreach($color as $id => $rgb)
{
$output = imagecolorclosestalpha($image, $rgb[0],
$rgb[1], $rgb[2], $rgb[3]);
$output = imagecolorsforindex($image, $output);
$output = "({$output['red']}, {$output['green']},
{$output['blue']}, {$output['alpha']})";
echo "Given color: ($rgb[0], $rgb[1], $rgb[2], $rgb[3])
=> Closest match: $output <br>";
}
imagedestroy($image);
?>
Output:
Given color: (155, 40, 200, 50) => Closest match: (100, 58, 108, 0)
Given color: (235, 205, 188, 127) => Closest match: (100, 58, 108, 0)
Given color: (135, 0, 132, 0) => Closest match: (100, 58, 108, 0)
Related Articles:
Reference: http://php.net/manual/en/function.imagecolorclosestalpha.php
Similar Reads
SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e
7 min read
TCP/IP Model The TCP/IP model (Transmission Control Protocol/Internet Protocol) is a four-layer networking framework that enables reliable communication between devices over interconnected networks. It provides a standardized set of protocols for transmitting data across interconnected networks, ensuring efficie
7 min read
JavaScript Tutorial JavaScript is a programming language used to create dynamic content for websites. It is a lightweight, cross-platform, and single-threaded programming language. It's an interpreted language that executes code line by line, providing more flexibility.JavaScript on Client Side: On the client side, Jav
11 min read
Web Development Web development is the process of creating, building, and maintaining websites and web applications. It involves everything from web design to programming and database management. Web development is generally divided into three core areas: Frontend Development, Backend Development, and Full Stack De
5 min read
Basics of Computer Networking A computer network is a collection of interconnected devices that share resources and information. These devices can include computers, servers, printers, and other hardware. Networks allow for the efficient exchange of data, enabling various applications such as email, file sharing, and internet br
14 min read
React Interview Questions and Answers React is an efficient, flexible, and open-source JavaScript library that allows developers to create simple, fast, and scalable web applications. Jordan Walke, a software engineer who was working for Facebook, created React. Developers with a JavaScript background can easily develop web applications
15+ min read
Unified Modeling Language (UML) Diagrams Unified Modeling Language (UML) is a general-purpose modeling language. The main aim of UML is to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering. UML is not a programming language, it is rather a visual lan
14 min read
JavaScript Interview Questions and Answers JavaScript (JS) is the most popular lightweight, scripting, and interpreted programming language. JavaScript is well-known as a scripting language for web pages, mobile apps, web servers, and many other platforms. Both front-end and back-end developers need to have a strong command of JavaScript, as
15+ min read
React Tutorial React is a JavaScript Library known for front-end development (or user interface). It is popular due to its component-based architecture, Single Page Applications (SPAs), and Virtual DOM for building web applications that are fast, efficient, and scalable.Applications are built using reusable compon
8 min read
Waterfall Model - Software Engineering The Waterfall Model is a Traditional Software Development Methodology. It was first introduced by Winston W. Royce in 1970. It is a linear and sequential approach to software development that consists of several phases. This classical waterfall model is simple and idealistic. It is important because
13 min read