Giter VIP home page Giter VIP logo

Comments (3)

kobalicek avatar kobalicek commented on June 20, 2024

I think this could be related to JIT pipeline generator not generating the intended code in some configurations, because when I put this to fiddle it shows the correct output:

#include <blend2d.h>

BLImage render(const BLContextCreateInfo& cci) {
  BLImage imgPattern(300, 300, BL_FORMAT_PRGB32);
  double w = imgPattern.width();
  double h = imgPattern.height();
  double xc = w/2.0;
  double yc = h/2.0;

  {
	  BLContext ctxS(imgPattern);
	  ctxS.fillAll(BLRgba32(0xFFff0000));
	  ctxS.fillCircle(xc,yc ,0.21*w,  BLRgba32(0xFF0000ff));
	  ctxS.fillCircle(xc,yc, 0.11*w,  BLRgba32(0xFF888888));
	  ctxS.strokeLine(0,0,w,h,  BLRgba32(0xFFffff00));
	  ctxS.strokeLine(0,h,w,0,  BLRgba32(0xFFffffff));
	  ctxS.strokeLine(0,yc,w,yc,  BLRgba32(0xFFffffff));
	  ctxS.strokeLine(xc,0,xc,h,  BLRgba32(0xFFffffff));
	  ctxS.end();
  }

   // create the main BLContext
  BLImage img(400, 400, BL_FORMAT_PRGB32);
  BLContext ctx(img);
  ctx.clearAll();

  ctx.setTransform( {1,0,0,1, 200,200} ); //put the origin at the center of img

  BLPattern myPattern;
  myPattern.setImage(imgPattern);
    // put the origin of the pattern in its center
  myPattern.setTransform({1,0,0,1, xc, yc});

  // experimental variations :
  // myPattern.setTransform({1,0,0,1, xc+0.01, yc});  // it works !
  // myPattern.setTransform({1,0,0,1, xc+0.001, yc}); // still wrong
  // myPattern.setExtendMode(BL_EXTEND_MODE_REFLECT); // it works !
  ctx.setFillStyle(myPattern);

  ctx.fillCircle(0,0,90);
  ctx.end();

  return img;
}

from blend2d.

kobalicek avatar kobalicek commented on June 20, 2024

Marking this as a bug - this needs a test suite to be sure.

from blend2d.

kobalicek avatar kobalicek commented on June 20, 2024

Indeed, this was a bug and it's now fixed in v0.11.0! Thanks for the report!

from blend2d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.