小编Joa*_*les的帖子

如何在ImageView中获取图片的位置?

我有一个不同大小的图像库.每个图像在ImageView顺序(直通OnTouchListener)内显示.我需要知道我正在展示亲属的图片框架的位置ImageView但是通过我已经完成的测试我只得到了坐标ImageView.任何的想法?

在此输入图像描述

我需要(x1,y1)和(x2,y2)的值.

提前致谢.

这是我的班级:

public class PuzzleView extends ImageView {

protected Paint currentPaint;    

protected boolean drawRect = false;    
protected float left;
protected float top;
protected float right;
protected float bottom;

protected float pixelX;
protected float pixelY;

protected int nChunksX = 5;
protected int nChunksY = 5;

protected int currentWidth = 0;
protected int currentHeight = 0;

public PuzzleView(Context context, AttributeSet attrs) {
    super(context, attrs);

    currentPaint = new Paint();
    currentPaint.setDither(true);
    currentPaint.setColor(0xFF00CC00);  
    currentPaint.setStyle(Paint.Style.STROKE);
    currentPaint.setStrokeJoin(Paint.Join.ROUND); …
Run Code Online (Sandbox Code Playgroud)

android android-imageview

9
推荐指数
2
解决办法
6325
查看次数

使用纯虚方法克隆C++类

我有以下关系类.我想克隆类Derived,但我得到错误"无法实例化抽象类".我如何克隆派生类?谢谢.

class Base {
public:
    virtual ~Base() {}
    virtual Base* clone() const = 0;
};

class Derived: public Base {
public:
    virtual void func() = 0;
    virtual Derived* clone() const {
        return new Derived(*this);
    }
};
Run Code Online (Sandbox Code Playgroud)

c++ virtual

6
推荐指数
2
解决办法
3477
查看次数

指针向量。BOOST序列化

我想使用 BOOST 序列化/反序列化以下向量中对象的值(而不是指针):

std :: vector <A*> m_vector; 
Run Code Online (Sandbox Code Playgroud)

要序列化,我使用以下代码:

int nItems = m_vector.size();
ar & nItems;
std::for_each(m_vector.begin(), m_vector.end(), [&ar](A* pItem) {
    ar & *pItem;
});
Run Code Online (Sandbox Code Playgroud)

并反序列化:

int nItems;
ar & nItems;
for (int i = 0; i < nItems; ++i) {
    A* pItem;
    ar & *pItem;  ///////////// Run-Time Check Failure #3
    m_vector.push_back(pItem);
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行程序时,出现以下错误:

Run-Time Check Failure # 3 - The variable 'pItem' is Being Used without Being initialized. 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢你。

c++ boost boost-serialization

3
推荐指数
1
解决办法
2309
查看次数

如何克隆包含指针的对象?

我有个问题.我需要克隆包含指针的对象类.问题的一个示例在以下代码中:

#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <vector>

class CPoint
{
protected:
    int m_x;
    int m_y;

    int *m_p;

public:
    CPoint();
    CPoint(int x, int y);
    ~CPoint();

    CPoint*         clone();
    static CPoint*  clone(CPoint& p);

    int getX();
    int getY();
    void setX(int x);
    void setY(int y);

    void toString();
};

int CPoint::getX()
{
    return m_x;
}

int CPoint::getY()
{
    return m_y;
}

void CPoint::setX( int x )
{
    m_x = x;
}

void CPoint::setY( int y )
{
    m_y = y;
}

void CPoint::toString()
{ …
Run Code Online (Sandbox Code Playgroud)

c++ oop class

3
推荐指数
1
解决办法
4303
查看次数

Android:如何将ImageView划分为块并将它们分配给onClickListener

我需要将图像(ImageViewer)划分为块并为它们分配onClick事件监听器.为了划分图像,我使用下一个代码:

private void splitImage(ImageView image, int rows, int cols) {  

    //For height and width of the small image chunks 
    int chunkHeight,chunkWidth;

    //To store all the small image chunks in bitmap format in this list 
    ArrayList<Bitmap> chunkedImages = new ArrayList<Bitmap>(rows * cols);

    //Getting the scaled bitmap of the source image
    BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();
    Bitmap bitmap = drawable.getBitmap();
    Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(), bitmap.getHeight(), true);

    chunkHeight = bitmap.getHeight()/rows;
    chunkWidth = bitmap.getWidth()/cols;

    //xCoord and yCoord are the pixel positions of the …
Run Code Online (Sandbox Code Playgroud)

android imageview onclicklistener

2
推荐指数
1
解决办法
1387
查看次数

迭代std ::指针向量时出错

我需要复制一个包含指向类的指针的std :: vector.功能是:

Clone::Clone( const Clone &source )
{
    m_pDerivate.clear();

    std::vector<Derivate *>::const_iterator it;
    it = source.m_pDerivate.begin();
    for (it = source.m_pDerivate.begin(); it != source.m_pDerivate.end(); ++it) {
        m_pDerivate.push_back(new Derivate(it));
    }
}
Run Code Online (Sandbox Code Playgroud)

Derivate构造函数是:

Derivate::Derivate( const Derivate &source )
{
    _y = source._y; 
    _m = _strdup(source._m);
}
Run Code Online (Sandbox Code Playgroud)

但是当我编译时,我得到以下错误......

 cannot convert parameter 1 from 'std::_Vector_const_iterator<_Myvec>' to 'const Derivate &'
Run Code Online (Sandbox Code Playgroud)

......在线:

m_pDerivate.push_back(new Derivate(it));
Run Code Online (Sandbox Code Playgroud)

如果我换行...

m_pDerivate.push_back(new Derivate((const Derivate &)(*it)));
Run Code Online (Sandbox Code Playgroud)

...编译正常,但Derivate构造函数没有正确接收数据.

你能帮助我吗?

提前致谢.

c++ visual-c++

1
推荐指数
1
解决办法
112
查看次数