Q:

Color Histogram3D by Bin Location

I am using a Histogram3D plot to view the correlation of the R & G of an RGB image.  Naturally, I want the bins to have a color corresponding to their $x$, $y$ (R,G) position on the chart.
Unfortunately, ColorFunction for Histogram3D only supplies one argument, height, not $x$ or $y$ position.
Is there a way to color each bin based on its $x$ and $y$ position within the histogram? (i.e. RGBColor[x,y,0])
Here is how I am generating my (uncolored) histogram:
    Histogram3D[Transpose[{
                           Flatten[ImageData[jpeg][[All,All,1]]]
                          ,Flatten[ImageData[jpeg][[All,All,2]]]
                           }]]

A:

Thanks to ybeltukov I realised that post-processing way is not so bulletproof. Let's write a little bit longer solution to take control. 
ChartElementFunction, is a handy way to deal with this (only a little bit adapted example for documentation):    
f[{{xmin_, xmax_}, {ymin_, ymax_}, {zmin_, zmax_}}, ___] := {
         RGBColor[Mean[{xmin, xmax}], Mean[{ymin, ymax}], 0], 
         Cuboid[{xmin, ymin, zmin}, {xmax, ymax, zmax}]}

And it works for small images too:
jpeg = ImageResize[ExampleData[{"TestImage", "Mandrill"}], 5]

hist = Histogram3D[
                   Flatten[ImageData[jpeg][[;; , ;; , {1, 2}]], 1],
                   ChartElementFunction -> f]

(I have changed a little bit your code to make it more compact).

Edit All of the graphs you asked for. I had to modify f to make it more useful:
f[{x_, y_, z_}, ___, OptionsPattern[Irrelevant -> 1]] := {
               RGBColor @@ Insert[{Mean@x, Mean@y}, 0, OptionValue[Irrelevant]], 
               Cuboid @@ Transpose[{x, y, z}]}

jpeg = ImageResize[ExampleData[{"TestImage", "Mandrill"}], 100]

Histogram3D[Flatten[ImageData[jpeg][[;; , ;; , #]], 1], PlotLabel -> #2,
            ChartElementFunction -> (f[##, Irrelevant -> "x"] & /. "x" -> #3)
           ] & @@@ {{{1, 2}, "R - G", 3}, 
                    {{1, 3}, "R - B", 2}, 
                    {{2, 3}, "G - B", 1}} // GraphicsRow[#, ImageSize -> 1000] &

"Post-processing" way, works automatically only for larger images, for small, take a look @ybeltukov solution.
ChartElements are Cuboid s. r1 and r2 are coordinates of oposite vertices. Just reffer the color to them as you like.  r2 = {x2, y2, z2} so you can involve height too. 
To achieve what you've described in comments:
hist /. Cuboid[r1_, r2_] :> {RGBColor[##, 0] & @@ Most@(Mean /@ Transpose[{r1, r2}])
                             , Cuboid[r1, r2]}

A:

Solution of Kuba works fine only for large images when bars on Histogram3D are not dynamic objects with tooltips. I provide more general solution
hist /. (h_ /; h === CuboidBox || h === Cuboid)[r1_, r2_] :> 
With[{col = Append[Most[r1 + r2]/2, 0]}, {RGBColor[col], h[r1, r2]} /; True])

For small data set there is CuboidBox instead of Cuboid. Moreover CuboidBox is in held expression so I use Trott-Strzebonski in-place evaluation technique.
Examples

Small image
jpeg = Image[RandomReal[1, {8, 12, 3}]]
hist = Histogram3D[
   Transpose[{Flatten[ImageData[jpeg][[All, All, 1]]], 
     Flatten[ImageData[jpeg][[All, All, 2]]]}]];
hist /. (h_ /; h === CuboidBox || h === Cuboid)[r1_, r2_] :> 
  With[{col = Append[Most[r1 + r2]/2, 0]}, {RGBColor[col], 
     h[r1, r2]} /; True]

Large image
jpeg = Import["ExampleData/lena.tif"]
hist = Histogram3D[
   Transpose[{Flatten[ImageData[jpeg][[All, All, 1]]], 
     Flatten[ImageData[jpeg][[All, All, 2]]]}]];
hist /. (h_ /; h === CuboidBox || h === Cuboid)[r1_, r2_] :> 
  With[{col = Append[Most[r1 + r2]/2, 0]}, {RGBColor[col], 
     h[r1, r2]} /; True]

