Building your own legend

First a plot to work with.

plot1  =  
      DensityPlot[Sin[x] Cos[y], {x, 0, 2 π}, {y, 0, 2 π}, 
        PlotPoints  ->  30]

Next a grayscale

This creates a stack of boxes illustrating the color values. You will have to decide how many steps you want to put into the legend and what the values should be.

scalebox  =  
        Table[{GrayLevel[i 1.1111], 
            Rectangle[{ .1, i}, { .2, i +  .1}]}, {i, 
            0,  .9,  .1}];

And this creates the accompanying text. Here, again you need to make decisions about how many label you need for clarity. I have used StyleForm to adjust the text size in the legend to make it fit the final plot.

grayscale  =  
        Table[Text[
            StyleForm[NumberForm[N[2 i  - 1], 2], 
              FontSize ->  
                9], { .3, ( .95  -  i)  .9 +  .1}], {i, 0, 1, 
            1/9}];

Assembling the legend and putting it in a frame.

This puts the part together and creates a shadow. The order in which the graphics are plotted makes a difference to avoid having important information covered by subsequent elements of the plot.

plot2  =  
      Show[Graphics[{Rectangle[{ .03, - .13}, { .43, 1.07}], {GrayLevel[
                1], Rectangle[{0, - .1}, { .4, 1.1}]}, 
            Line[{{0, - .1}, { .4, - .1}, { .4, 1.1}, {0, 
                  1.1}, {0, - .1}}], scalebox, grayscale, 
            Line[{{ .1, 0}, { .2, 0}, { .2, 1}, { .1, 1}, { .1, 0}}]}], 
        AspectRatio  ->  Automatic, 
        PlotRange  ->  All]

The final plot

To create the total plot we make use of embedding graphics in rectangles.  You may find at this point that you want to resize text or change the proportions of your legend.

Show[
      Graphics[{Rectangle[{0, 0}, {2, 2}, plot1], 
          Rectangle[{1.9,  .2}, {2.5, 1.8}, plot2]}], 
      ImageSize  -> 420]