Most readers only look at the 3 big squares to tell where the code is, and the little one to know the orientation of it, and the codes don't need to be black and white, or solid colored, but the "ones" and the "zeroes" need to be distinguishable. Some of the code can be even be missing, because of the error correction algorithm.
You said that „QR Codes won't work without the white margin.”. I said that they don't even need all of the code to work, and that they don't need margins.