I want to create a Page Layout with following fields:
Image (this will be shown on top of the page at certain location which user will upload)
How can I do it?
I would suggest creating a WebPart using Visual Studio. By using Visual Studio - you can create a SharePoint Visual Web Part. This is like creating a normal .aspx page with it's .cs page for code behind. You can modify the look and feel of this page as you wish. you can even call data from SQL database or other SharePoint lists. After building the web part, you just deploy that web part to your farm. Then create a web-part page in your SharePoint site and insert your web part. Your web part will be stored in the custom folder from the web parts menu.
Ok I have been able to create content type and page layout using this tutorial http://blog.navantis.com/create-a-custom-page-layout-in-sharepoint-2013/