                 
                 func filling(operation: (Point) -> Pixel) {
                     
-                    let _transform = transform.inverse
                     if var pointer = buffer.baseAddress {
                         for i in buffer.indices {
-                            pointer.pointee = operation(Point(x: i % width, y: i / width) * _transform)
+                            pointer.pointee = operation(Point(x: i % width, y: i / width) * transform)
                             pointer += 1
                         }
                     }

    
    func resampling<T: SDTransformProtocol>(s_width: Int, width: Int, height: Int, transform: T, algorithm: Image.ResamplingAlgorithm) -> ImageBaseProtocol {
        
        return ImageBase(buffer: algorithm.calculate(source: self.buffer, s_width: s_width, width: width, height: height, transform: transform), colorSpace: self.colorSpace, algorithm: self.algorithm)
    }
    
    mutating func withUnsafeMutableBytes<R>(_ body: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R {


extension Image.ResamplingAlgorithm {
    
    @_specialize(ColorPixel<RGBColorModel>) @_specialize(ColorPixel<CMYKColorModel>) @_specialize(ColorPixel<GrayColorModel>) @_specialize(ARGB32ColorPixel)
    fileprivate func calculate<Pixel: ColorPixelProtocol>(source: [Pixel], s_width: Int, width: Int, height: Int, transform: SDTransform) -> [Pixel] where Pixel.Model : ColorBlendProtocol {
        
        var result = [Pixel](repeating: Pixel(), count: width * height)
        
