A extension library for generating HTML5 Picture element
PM > Install-Package Our.Umbraco.Picture
Download picturefill.min.js from https://github.com/scottjehl/picturefill and place in the ~/scripts/
Include this in the header:
    @Html.RequiresJs("~/Scripts/picturefill.min.js", 101);
There a multiple ways to use this.
This way you can have multiple images, and sources. Lets say a cat, swapped with a tiger, if width > 480px
@{    IPublishedContent cat = Umbraco.TypedMedia(1000);    IPublishedContent tiger = Umbraco.TypedMedia(1001);    var picture = Umbraco.Picture()        .Source("(min-width:480px)", tiger.GetCropUrl(768, 300))        .Source("(min-width:320px)", cat.GetCropUrl(480, 300) + " x1", cat.GetCropUrl(960, 600) + " x2")        .Srcset(cat.GetCropUrl(768, 300))        .Attr("class", "img-responsive")        .Alt("Cat becomes tiger");    @Html.RenderPicture(picture);}
<picture class="img-responsive">    <!--[if IE 9]><video style="display: none;"><![endif]-->    <source media="(min-width:480px)"             srcset="/media/1001/tiger.jpg?width=768&height=300&mode=crop">    <source media="(min-width:320px)"             srcset="/media/1000/cat.jpg?width=480&height=300&mode=crop 1x,                     /media/1000/cat.jpgwidth=960&height=600&mode=crop 2x">    <!--[if IE 9]></video><![endif]-->    <img src="" srcset="" alt="Cat becomes tiger" /> </picture>
Simple but effective.
@{    IPublishedContent media = Umbraco.TypedMedia(1000);    var picture = Umbraco.Picture(media)        .Source("(min-width:992px)", 1200, 300, 1.0, 2.0)        .Source("(min-width:768px)", 992, 300, 1.0, 2.0)        .Source("(min-width:480px)", 768, 300, 1.0, 2.0)        .Source("(min-width:320px)", 480, 300, 1.0, 2.0)        .Srcset(768, 300)        .Attr("class", "img-responsive")        .Alt(media.GetPropertyValue<string>("alt", ""));    @Html.RenderPicture(picture);}
<picture class="img-responsive">    <!--[if IE 9]><video style="display: none;"><![endif]-->    <source media="(min-width:480px)"             srcset="/media/1001/image.jpg?width=1200&height=300&mode=crop x1,                    /media/1001/image.jpg?width=2400&height=600&mode=crop x2">    ...    <!--[if IE 9]></video><![endif]-->    <img src="" srcset="/media/1001/image.jpg?width=768&height=300&mode=crop" alt="..." /> </picture>