symbian 图片切割
来源:互联网 发布:为什么mysql 编辑:程序博客网 时间:2024/05/02 14:47
class TPicCut
{
public:
void PicCut(CFbsBitmap *aBitmapSrc, TSize aSize, RPointerArray<CFbsBitmap> &aBitmapTarget);
private:
TStreamId iId;
TInt VerNum;
TInt HorNum;
};
/**
* aBitmapSrc:被切割的源图片 输入
* aSize:目标图片的大小 输入
* aBitmapTarget:存放目标图片的指针数组 输出
*/
void TPicCut::PicCut(CFbsBitmap *aBitmapSrc, TSize aSize,
RPointerArray<CFbsBitmap> &aBitmapTarget)
{
/**
* 计算纵向和横向需要被切割的图片个数
*/
TSize Size = aBitmapSrc->SizeInPixels();
VerNum = Size.iHeight / aSize.iHeight;
HorNum = Size.iWidth / aSize.iWidth;
/**
* 将一个外化流关联到一个文件
*/
CFileStore *BitmapBuffer = CDirectFileStore::ReplaceLC(
CCoeEnv::Static()->FsSession(), _L("BitmapTemp"), EFileWrite | EFileRead);
BitmapBuffer->SetTypeL(TUidType(BitmapBuffer->Layout()));
RStoreWriteStream BitmapExStream;
iId = BitmapExStream.CreateLC(*BitmapBuffer);
/**
* 将图片切割成横向和纵向指定数目的子图片,
* 并导入的外化的流中从而存到文件中
*/
for (TInt i = 0; i < VerNum; i++)
{
for (TInt j = 0; j < HorNum; j++)
{
TPoint lefttop(j * aSize.iWidth, i * aSize.iHeight);
TPoint rightbottom(lefttop.iX + aSize.iWidth, lefttop.iY
+ aSize.iHeight);
TRect rect(lefttop, rightbottom);
aBitmapSrc->ExternalizeRectangleL(BitmapExStream, rect);
}
}
BitmapExStream.CommitL();
CleanupStack::PopAndDestroy();
/**
* 将内化流关联到存有目标图片的文件
*/
RStoreReadStream BitmapInStream;
BitmapInStream.OpenLC(*BitmapBuffer, iId);
/**
* 将目标图片从文件中内化到存储图片的指针数组
*/
for (TInt i = 0; i < VerNum * HorNum; i++)
{
CFbsBitmap *bitmap = new (ELeave) CFbsBitmap;
CleanupStack::PushL(bitmap);
bitmap->InternalizeL(BitmapInStream);
aBitmapTarget.AppendL(bitmap);
CleanupStack::Pop(bitmap);
}
CleanupStack::PopAndDestroy(2);
}
- symbian 图片切割
- 切割图片
- 切割图片
- 图片切割
- 图片切割
- 切割图片
- 利用ImageMagick切割图片
- 也谈图片切割
- C#图片切割
- 图片切割软件imagemagick
- 图片切割软件imagemagick
- C#图片切割
- JavaScript 图片切割效果
- 图片切割系统
- JavaScript 图片切割效果
- 图片切割系统
- JavaScript 图片切割效果
- C# 切割图片
- 上班第二天
- sql优化方案
- 哪些人不能成功
- VB总结
- 找房好辛苦。。
- symbian 图片切割
- WinXp上安装Tuxedo81
- Carbide C++的一个奇怪错误
- Red Hat Linux AS3上安装Tuxedo81
- dom4j实现增删改查功能
- css双斜角横线菜单
- css立体菜单
- xml的增删改查示例
- css箭头菜单