Update.
Andrzej J. R. Hunt
andrzej at ahunt.org
Tue Aug 14 04:15:17 PDT 2012
Hi Iain,
On 08/13/2012 02:29 PM, Iain Billett wrote:
>
> I've worked out a way of getting reasonable box-shadow around the page
> thumbnails. Ultimately it requires pixel by pixel modification to
> soften the shadow ( It was too dark before ). All the same it doesn't
> seem too slow but currently the thumbnails are small. Currently, the
> shadow is added at runtime as part of the grid adapter but I could
> just add the shadow to the thumbnail? ( This would make it difficult
> to change once added, unless we keep the original also ). I'm
> really surprised that there is no clean way of doing this (that I can
> see).
I don't know how your images are stored/drawn, but this is how I add
shadows in the remote control using a shadow "paint" (assuming you're
doing it in Java):
Bitmap aBitmap = getMyBitmapFromSomewhere();
final int borderWidth = 8; // However much space you want
for shadows
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setShadowLayer(borderWidth, 0, 0, Color.BLACK); // Change
the colour of the shadow here
Bitmap aOut = Bitmap.createBitmap(aBitmap.getWidth() + 2 //
The new larger bitmap containing image+shadow
* borderWidth, aBitmap.getHeight() + 2
* borderWidth, aBitmap.getConfig());
RectF aRect = new RectF(borderWidth, borderWidth,
borderWidth // This is the rectangle where the original image will be
painted
+ aBitmap.getWidth(), borderWidth
+ aBitmap.getHeight());
Canvas canvas = new Canvas(aOut);
canvas.drawColor(Color.TRANSPARENT); // Fade out to a given
background color
canvas.drawRect(aRect, p); // Draw the shadow first
canvas.drawBitmap(aBitmap, null, aRect, null); // Draw the
original image on top
return aOut; // New Bitmap with shadow.
Hope this helps,
Andrzej
More information about the LibreOffice
mailing list