2016-05-26 4 views
5

Ich spiele mit CSS-Rotationen, um einen Kaleidoskop-Effekt in CSS zu erhalten.Warum habe ich diese weißen Ränder mit Chrom mit einigen Auflösungen und wie man sie entfernt?

Alles scheint gut, außer mit Chrome zu einer bestimmten Auflösung (keine Ausgabe auf IE10, ich habe nicht FF-Test)

Ich weiß nicht, warum, aber irgendwann habe ich einige seltsamen weißen Ränder in der Mitte des Kaleidoskops auch wenn mit den Rotationswerten alles in Ordnung scheint. Ich kann keine Abhilfe finden ...

border white bug

Sie Demo hier eine Arbeits testen können: http://jsfiddle.net/Lvc0u55v/4519/

Sie werden wahrscheinlich benötigen Sie den Regler von jsfiddle zu bewegen angezeigt, die weißen Ränder zu sehen.

Ich verwende diese Art von css: transform: rotate(151deg) matrix(-1, 0, 0, 1, 0, 0) mit einem Hintergrundbild.

Können Sie mir helfen, diese Grenzen zu entfernen?

+1

Schönes Projekt. Diese Artefakte können ein Problem mit Alpha/Blending der Texturkanten sein, das sehen Sie auch in einigen Spielen, siehe http://answers.unity3d.com/questions/10302/messy-alpha-problem-white-around-edges .html –

+0

Sie reden * nicht * über die horizontale Linie und die von gleicher Größe, sondern über die vertikale Linie gleicher Größe (das ist nur die Größe des inneren Kreises in Ihrem Bild), oder? Weil die ehemaligen (volle Breite dünne Linien) sind auch auf meinem nativen Full-HD-Bildschirm sichtbar. Auf meinem 2K Bildschirm ist es schlimmer. –

+0

Vielleicht duplizieren von: http://stackoverflow.com/questions/6492027/css-transform-jagged-edges-in-chrome –

Antwort

0

Hoffe, das wird helfen.

var myApp = angular.module('myApp', []); 
myApp.controller('mainCtrl', ['$scope', '$timeout', 
function($scope, $timeout) { 
    $scope.bgImage = 'url(http://www.larousse.fr/encyclopedie/data/images/1310226-Vincent_Van_Gogh_la_Nuit_%C3%A9toil%C3%A9e.jpg)'; 
    var section = 12; 
    $scope.getNumber = function() { 
     return new Array(section); 
    } 
    $scope.getRotation = function(i) { 
     var hasMatrix = false, deg = 0, base = 360/section, rotation; 
     if (i % 2 === 0) { 
      i -= 1; 
      hasMatrix = true; 
     } 
     deg = Math.round(i * base + 1); 
     if (section <= 4) { 
      deg -= 1; 
     } 
     rotation = 'rotate(' + deg + 'deg)'; 
     if (hasMatrix) { 
      // Please updated this line 
      rotation += ' matrix(-1, 0, 0, 1, -1, 0)'; 
     } 
     return rotation; 
    } 
    $scope.mode = 'move'; 
    $scope.onMousemove = function(e) { 
    console.log($scope.mode); 
    if ($scope.mode === 'move') { 
     $scope.bgPosition = e.pageX + 'px ' + e.pageY + 'px'; 
    } 
    }; 
}]);