Wie kann ich die oben genannten Bilder in nur einem Rahmen sammeln und GIF tun? Kann ich das mit CSS und PHP machen?4x4 CSS Konvertieren JPG-Datei in GIF
Ich möchte nur 1 Frame diese 4x4 Bilder als gif zeigen.
Wie kann ich die oben genannten Bilder in nur einem Rahmen sammeln und GIF tun? Kann ich das mit CSS und PHP machen?4x4 CSS Konvertieren JPG-Datei in GIF
Ich möchte nur 1 Frame diese 4x4 Bilder als gif zeigen.
Hier ist eine Animation der ersten Zeile. Wenn Sie die Y-Achse ändern, wird das Bild so verschoben, dass die zweite Zeile angezeigt wird. PHP oder Javascript ist nicht erforderlich.
.animation {
width: 317px;
height: 174px;
background: url('https://i.stack.imgur.com/xo7T3.jpg') 0 0;
animation: play 16s infinite;
}
@keyframes play {
0% { background-position: 0 0; }
5.99% { background-position: 0 0; }
6% { background-position: -317px 0; }
11.99% { background-position: -317px 0; }
12% { background-position: -634px 0; }
17.99% { background-position: -634px 0; }
18% { background-position: -951px 0; }
23.99% { background-position: -951px 0; }
24% { background-position: -1268px 0; }
99.99% { background-position: -1268px 0; }
100% { background-position: 0 0; }
}
<div class="animation"></div>
ist hier ein Arbeits feedle für Sie von mir. Implementiert in javascript mithilfe der jQuery-Bibliothek.
https://jsfiddle.net/271qnqrj/
JS:
(function($) {
$.fn.extend({
mygif: function(speed, width, height, verticalBorderWidth, horizontalBorderWidth) {
speed = speed || 400;
width = width || 315;
height = height || 175;
verticalBorderWidth = verticalBorderWidth || 5;
horizontalBorderWidth = horizontalBorderWidth || 5;
this.each(function() {
var img = $(this).attr('src');
var div = $('<div class="mygif" data-frame="1" style="width: ' + width + 'px;height:' + height + 'px;background-image: url(\'' + img + '\');"/>').insertAfter($(this));
$(this).remove();
});
window.setInterval(function() {
$('.mygif').each(function() {
var frame = $(this).data('frame');
if (frame == 16) {
frame = 1;
} else {
frame++;
}
$(this).data('frame', frame);
var posX = (width + verticalBorderWidth) * ((frame-1) % 4);
var posY = (height + horizontalBorderWidth) * (Math.floor((frame-1)/4));
$(this).css('background-position', -posX + 'px ' + -posY + 'px');
});
}, speed);
}
});
$('.mygif').mygif()
})(jQuery);
HTML:
<img src="https://i.stack.imgur.com/xo7T3.jpg" class="mygif" />
CSS:
img.mygif { display: none; }
Als ein 'gif' speziell nicht mit CSS, aber als eine Animation, wo es ein Bild zu einer Zeit zeigt, nicht schwer mit jQuery/CSS. Wenn alle zusammengesetzten Bilder die gleiche Größe haben/Teile an der gleichen Position haben, dann ist es nur ein div mit Überlauf-versteckt und setzen Sie den Rand auf jedes Bild versetzt. –
Haben Sie einen Beispielcode in der Hand? – rootist
Ich kann Ihnen gerade keinen Arbeitscode geben, aber im Wesentlichen '
' dann js '$ (function() {setTimeout (function() {$ (" # wrapper "). Css (" margin-left "," - 150px ");}, 2500);});' (Breite/Höhe/Rand ändern, um die kleineren Teile des Bildes anzupassen) –