#fg {
fill: url(#ship);
stroke: #fff;
stroke-width: 10px;
stroke-dasharray: 1024px;
-webkit-animation: dash 2s;
animation: dash 2s;
}
@keyframes dash {
from {
stroke-dashoffset: 1024px;
}
to {
stroke-dashoffset: 0px;
}
}
@-webkit-keyframes dash {
from {
stroke-dashoffset: 1024px;
}
to {
stroke-dashoffset: 0px;
}
}
#bg {
fill: white;
stroke: none;
transform-origin: 1270px 550px;
-webkit-animation: bgfill 2s linear 2s forwards;
animation: bgfill 2s linear 2s forwards;
}
@keyframes bgfill {
from {
transform: scale(1);
}
to {
transform: scale(4);
}
}
@-webkit-keyframes bgfill {
from {
transform: scale(1);
}
to {
transform: scale(4);
}
}
#home {
height: 100vh;
background-image: url("http://4.bp.blogspot.com/-yB6Tc3mleuE/T4NkAKeazYI/AAAAAAAACB0/tlichKzIu3Q/s1600/Simple+unique+odd+weird+wallpapers+minimalistic+%2330+battleship+titanic.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
overflow: hidden;
}
<div class="background">
<svg viewBox="0 0 1376 764">
<defs>
<clipPath id="ship">
<use xlink:href="#shape" id="bg" />
</clipPath>
<path id="shape" d="M1034.5,770.5a125.59,125.59,0,0,0-17-32c-12.32-16.72-25.68-25.84-33-31-6-4.23-59.88-42.55-100-90-13.64-16.14-20.57-24.48-26-38-15-37.48-3.73-73.65,0-85,8.68-26.45,23-43.26,35-57,19-21.82,33.56-29.9,67-54,33.68-24.27,55.39-39.91,77-60,40.56-37.69,35.94-49.35,81-96,34.18-35.39,51.27-53.08,79-65,7.79-3.35,76-31.44,140,2a142.06,142.06,0,0,1,31,22l7.5,7.5 L 1376,770.5 Z" />
</defs>
<image xlink:href="http://4.bp.blogspot.com/-yB6Tc3mleuE/T4NkAKeazYI/AAAAAAAACB0/tlichKzIu3Q/s1600/Simple+unique+odd+weird+wallpapers+minimalistic+%2330+battleship+titanic.jpg"
width="1376" height="764" preserveAspectRatio="xMidYMid slice" clip-path="url(#ship)" />
<use xlink:href="#shape" id="fg" />
</svg>
</div>
I am trying to create a page load animation, first the white line gets drawn and afterwards I want to fill the screen with a white SVG animation, I got everything to work but I do not like the sharp edge for the fill effect, how can I change the shape of the corner to the shape of the white line? please see the animation in action to get a better understanding
Just use your original path shape and grow (scale) that.
For the following example, I removed the unnecessary elements you were using, and modified the main shape slightly so that it had a bottom right corner (instead of just being the line), so I could fill it.
I put one copy in front (id="fg"), with a dash animation as you requested in a previous question. And behind it, I put a copy of the path (id="bg") with a white fill. Then when the dash animation finishes, I start a second animation that scales the white version of the shape up by 4x to fill the SVG.
Update
To have the background fill with an image, the simplest approach is probably by using a clip path.