diff --git a/src/applications/files/builtin/PhabricatorFilesComposeAvatarBuiltinFile.php b/src/applications/files/builtin/PhabricatorFilesComposeAvatarBuiltinFile.php
--- a/src/applications/files/builtin/PhabricatorFilesComposeAvatarBuiltinFile.php
+++ b/src/applications/files/builtin/PhabricatorFilesComposeAvatarBuiltinFile.php
@@ -183,12 +183,21 @@
       'image/png');
   }
 
+  /**
+   * Convert a color from RGBA to a value usable in PHP-GD.
+   * Each RGB color should be expressed as an integer from 0 to 255.
+   * The Alpha Channel should be expressed as a float from 0 to 1.
+   * @param array $rgba array( int Red, int Green, int Blue, float Alpha )
+   * @return int
+   */
   private static function rgba2gd($rgba) {
+    // When working with a truecolor image, we can use bitwise operations
+    // https://www.php.net/manual/en/function.imagecolorallocate.php#49168
     $r = $rgba[0];
     $g = $rgba[1];
     $b = $rgba[2];
     $a = $rgba[3];
-    $a = (1 - $a) * 255;
+    $a = round(((1 - $a) * 255), 0);
     return ($a << 24) | ($r << 16) | ($g << 8) | $b;
   }