First you need an image in grayscale; you can transform any color image to grayscale using ArahWeave software for weaving. Run ArahWeave, choose Weave > Jacquard conversion. Load an image into Jacquard conversion window, choose Images > Mode > grayscale. You will get best results on images which will contain both completely white and completely black (the Contrast stretch function from the Images menu may help with that). You can use images in repeat, or full width images for weaving portraits or landscapes based on photos.
grayscale01

Then load one weave, which must have exactly one black point on each weft and at least one black point on each warp; you can use any weft satin or twill. The sample shading weaves, which are good for shading are located in shading directory.

Enter the number of warp threads, that you want to have in one repeat (600 in the image below). Usually the warp density is different from the weft one. To calculate the number of wefts, which will keep the image in proportion, just pres the Density button. This calculation works correctly only if you have previously inserted your weaving density using Fabric > Density. The number of wefts, which the program will calculate will be mathematically correct, but could be indivisible by your selected weave. If your image is in repeat, and you do not want any fault lines at the end of repeat, you can also apply function Conversion > set jacquard size to divisible Y in the Jacquard conversion window. This will adjust number of wefts and make it divisible by the chosen weave.
Then select Shading as the type of conversion, choose the direction, in which the program adds points in the basic weave (horizontal object flip horizontal or vertical object flip vertical), and...
grayscale02

... click OK. A jacquard weave is then constructed based on this one shading weave.
grayscale03

You can also try with some other weaves, which satisfy the conditions for shading weave described above. In the next example, we will use broken twill 8.
grayscale04

When you get a fabric you like, just save it as a jacquard card file and weave it.
grayscale05 
Grayscale shading, as developed by Arahne, has a very desirable property: no long float errors. For this reason, shading is very popular at universities, since designers with little textile knowledge can also produce quality fabrics.