title: Unity UI add Image programmatically
body: <p>I use the following code to add an image to the canvas
  however the image is located at the left-bottom corner
  I want the image to locate at the canvas's center
  anyone can help me</p>
  
  <pre><code>using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  using UnityEngine.UI;
  
  public class TestController : MonoBehaviour {
  
      public GameObject canvas;
      //public Sprite refSprite;
  
      // Use this for initialization
      void Start () {
  
          GameObject imgObject = new GameObject("testAAA");
  
          RectTransform trans = imgObject.AddComponent&lt;RectTransform&gt;();
          trans.anchoredPosition = new Vector2(0.5f, 0.5f);
          trans.localPosition = new Vector3(0, 0, 0);
          trans.position = new Vector3(0, 0, 0);
  
  
          Image image = imgObject.AddComponent&lt;Image&gt;();
          Texture2D tex = Resources.Load&lt;Texture2D&gt;("red");
          image.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
          imgObject.transform.SetParent(canvas.transform);
  
  
      }
  
      // Update is called once per frame
      void Update () {
  
      }
  }
  </code></pre>