当前位置: 首页>>代码示例>>C++>>正文


C++ ofColor类代码示例

本文整理汇总了C++中ofColor的典型用法代码示例。如果您正苦于以下问题:C++ ofColor类的具体用法?C++ ofColor怎么用?C++ ofColor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ofColor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: clipNormalized

vector<ofColor> ofxColourTheory::createRangeFromAnalogous(ofColor src){
    
    
    vector<ofVec2f> tones;
    tones.push_back(ofVec2f(1, 2.2f));
    tones.push_back(ofVec2f(2, 1));
    tones.push_back(ofVec2f(-1, -0.5f));
    tones.push_back(ofVec2f(-2, 1));
    
    float contrast = 0.25f;
    float theta = 10 *PI / 180.0;
        
    contrast = clipNormalized(contrast);
    
    vector<ofColor> colList;
    colList.push_back(src);
    
    
    for (int i=0;i<tones.size();i++) {
        ofColor c = rotateRYB(src,(int) (theta * tones[i].x));
        float t = 0.44f - tones[i].y * 0.1f;
        if ((float) src.getBrightness()/255.0 - contrast * tones[i].y < t) {
            c.setBrightness(t*255.0);
        } else {
            c.setBrightness(src.getBrightness() - (contrast * tones[i].y)*255.0);
        }
        c.setSaturation(c.getSaturation()-0.05f*255.0);
        colList.push_back(c);
    }
    return colList;
}
开发者ID:alexiswolfish,项目名称:ofxColourTheory,代码行数:31,代码来源:ofxColourTheory.cpp

示例2: rotateRYB

ofColor rotateRYB(ofColor col,int theta) {
    
    float h = (float) col.getHue()/255.0 * 360;
    vector<float> hsb;
    hsb.push_back((float) col.getHue()/255.0) ;
    hsb.push_back((float) col.getSaturation()/255.0) ;
    hsb.push_back((float) col.getBrightness()/255.0) ;
    theta %= 360;
    
    float resultHue = 0;
    
    vector<ofVec2f> RYB_WHEEL = getRYB_WHEEL();
    
    for (int i = 0; i < RYB_WHEEL.size() - 1; i++) {
        ofVec2f p = RYB_WHEEL[i];
        ofVec2f q = RYB_WHEEL[i + 1];
        if (q.y < p.y) {
            q.y += 360;
        }
        if (p.y <= h && h <= q.y) {
            resultHue = p.x + (q.x - p.x) * (h - p.y) / (q.y - p.y);
            break;
        }
    }
    
    //fmod = %, ie remainder
    
    // And the user-given angle (e.g. complement).
    resultHue = fmod((resultHue + theta),360);
    
    // For the given angle, find out what hue is
    // located there on the artistic color wheel.
    for (int i = 0; i < RYB_WHEEL.size() - 1; i++) {
        ofVec2f p = RYB_WHEEL[i];
        ofVec2f q = RYB_WHEEL[i + 1];
        if (q.y < p.y) {
            q.y += 360;
        }
        if (p.x <= resultHue && resultHue <= q.x) {
            h = p.y + (q.y - p.y) * (resultHue - p.x) / (q.x - p.x);
            break;
        }
    }
    
    hsb[0] = fmod(h, 360) / 360.0f;
    
    ofColor newCol;
    newCol.setHsb(hsb[0]*255, hsb[1]*255, hsb[2]*255);
    return newCol;
}
开发者ID:jeonghopark,项目名称:Experiments,代码行数:50,代码来源:Prototype01.cpp

示例3: computeColor

//--------------------------------------------------------------
void DevicePacket::computeColor(const ofColor& deviceColor, bool isColor, bool isInvert)
{
	float volume = isInvert ? 1.0f-m_volume : m_volume;

	if (isColor)
	{
		m_color.setHue(deviceColor.getHue());
		m_color.setSaturation(deviceColor.getSaturation());
		m_color.setBrightness(volume*255.0f);
	}
	else
	{
		m_color.set(volume*255.0f,volume*255.0f,volume*255.0f);
	}
}
开发者ID:v3ga,项目名称:murmur,代码行数:16,代码来源:device.cpp

示例4: parseHsb

 void parseHsb(ofColor & color, string attribute) {
     double h = m_settings.getAttribute(attribute, "hue", 0.0);
     double s = m_settings.getAttribute(attribute, "saturation", 0.0);
     double b = m_settings.getAttribute(attribute, "brightness", 0.0);
     double a = m_settings.getAttribute(attribute, "alpha", 1.0);
     color.setHsb(h * 255.f, s * 255.f, b * 255.f, a * 255.f);
 }
开发者ID:davidbeermann,项目名称:timely-matter,代码行数:7,代码来源:AppConfig.hpp

示例5: getNoiseAround

//--------------------------------------------------------------
ofColor ColorUtil::getNoiseAround( ofColor c, float radius, float seedValue )
{
	float hue, saturation, brightness;
	
	c.getHsb(hue, saturation, brightness);

	float noise = (ofNoise(seedValue) * (radius * 2)) - radius;
	hue = hue + noise;
	if (hue < 0) 
		hue = 255.0f + hue;
	if (hue > 255.0) 
		hue = hue - 255.0f;
	
	c.setHsb(hue, saturation, brightness);

	return (c);
}
开发者ID:antoniomechas,项目名称:ondaDump,代码行数:18,代码来源:ColorUtil.cpp

示例6: getNoiseAroundMax

//--------------------------------------------------------------
ofColor ColorUtil::getNoiseAroundMax( ofColor c, float radius )
{

	float hue, saturation, brightness;
	
	c.getHsb(hue, saturation, brightness);

	hue = hue + radius;
	if (hue < 0) 
		hue = 255.0f + hue;
	if (hue > 255.0) 
		hue = hue - 255.0f;
	
	c.setHsb(hue, saturation, brightness);

	return (c);

}
开发者ID:antoniomechas,项目名称:ondaDump,代码行数:19,代码来源:ColorUtil.cpp

示例7: getImage

//--------------------------------------------------------------
// create a visual representation of the simulation
void Rd::getImage(ofImage & image, const ofColor & c1, const ofColor & c2){
	unsigned char * pixels = image.getPixels();
	for(int indexImg = 0, indexA = 0; indexA < A.size(); indexImg += 3, indexA++){
		ofColor c = c1.getLerped(c2, A[indexA] * A[indexA]);
		pixels[indexImg] = c.r;
		pixels[indexImg + 1] = c.b;
		pixels[indexImg + 2] = c.g;
	}
	image.update();
}
开发者ID:danielmorena,项目名称:OF_GenerativeTypography,代码行数:12,代码来源:Rd.cpp

示例8: distanceBetween

float distanceBetween(ofColor a,ofColor b) {
    float hue = a.getHue()/255.0f *TWO_PI;
    float hue2 = b.getHue()/255.0f * TWO_PI;
    ofVec3f v1((cos(hue) * a.getSaturation()/255.0f),
               (sin(hue) * a.getSaturation()/255.0f), a.getBrightness()/255.0f);
    ofVec3f v2((cos(hue2) * b.getSaturation()/255.0f),
               (sin(hue2) * b.getSaturation()/255.0f), b.getBrightness()/255.0f);
    return v1.distance(v2);
}
开发者ID:jeonghopark,项目名称:Experiments,代码行数:9,代码来源:SingleBrush.cpp

示例9: setColor

void ofPixels::setColor(int x, int y, ofColor color) {
	int index = getPixelIndex(x, y);

	if( bytesPerPixel == 1 ){
		pixels[index] = color.getBrightness();
	}else if( bytesPerPixel == 3 ){
		pixels[index] = color.r;
		pixels[index+1] = color.g;
		pixels[index+2] = color.b;
	}else if( bytesPerPixel == 4 ){
		pixels[index] = color.r;
		pixels[index+1] = color.g;
		pixels[index+2] = color.b;
		pixels[index+3] = color.a;
	}
}
开发者ID:apexcode,项目名称:openFrameworks,代码行数:16,代码来源:ofPixels.cpp

示例10: makeParticleForPipe

void EffectPipeOrganLines :: makeParticleForPipe(int pipeindex, ofColor col) {
	if(pipeOrganData == NULL) return;
	
	ParticleSystemManager& psm = *(ParticleSystemManager::instance());
	ParticleSystem &ps = *psm.getParticleSystem();
	
	ParticleSystemSettings pss;
	pss.emitLifeTime = 0.1;
	pss.emitMode = PARTICLE_EMIT_BURST;
	pss.emitCount = 1;
	pss.renderer = new ParticleRendererLaser();
	pss.speedMin = 600 ;
	pss.speedMax = 650;
	pss.drag = 0.9;
	//pss.gravity.set(0,500,0);
	
	pss.sizeStartMin = pss.sizeStartMax = 1;
	pss.sizeChangeRatio = 0.1;
	//pss.emitShape = &explodeMesh;
	pss.directionYVar = pss.directionZVar = 0;
	pss.directionY = 0;
	pss.directionX = -35;
	
	pss.hueStartMin = pss.hueStartMax = col.getHue();
	pss.hueChange = 0;
	pss.saturationMin = pss.saturationMax = 255;
	pss.saturationEnd = 255;
	pss.brightnessStartMin = pss.brightnessStartMax =pss.brightnessEnd = 255;
	pss.lifeMin = pss.lifeMax = 0.5;
	pss.shimmerMin = 0;
	pss.timeSpeed = 0.7;
	//pss.doNotScale = true;
	
	ps.pos = pipeOrganData->pipes[pipeindex].top;
	ps.init(pss);
	
	
	
}
开发者ID:imclab,项目名称:LaserShow,代码行数:39,代码来源:EffectPipeOrganLines.cpp

示例11: resetDrawSettings

 void resetDrawSettings()
 {
     m_inSetup = false;
     fill(m_defaultFillColor.getHex());
     stroke(m_defaultStrokeColor.getHex());
     strokeWeight(m_defaultStrokeWeight);
     m_hasFill = m_defaultHasFill;
     m_hasStroke = m_defaultHasStroke;
     ofEnableBlendMode(OF_BLENDMODE_ALPHA);
     smooth(2);
     width = ofGetWidth();
     height = ofGetHeight();
     pmouseX = ofGetPreviousMouseX();
     pmouseY = ofGetPreviousMouseY();
     keyPressed = ofGetKeyPressed();
     mousePressed = ofGetMousePressed();
     mouseButton = NONE;
     if( ofGetMousePressed(0) )
         mouseButton = LEFT;
     else if(ofGetMousePressed(1))
         mouseButton = RIGHT;
     
     
     ofSetCircleResolution(100);
     ofSetCurveResolution(100);
 }
开发者ID:JosephLaurino,项目名称:ofx-experiments,代码行数:26,代码来源:processing.cpp

示例12: intializeBackground

void GamePanel::intializeBackground() {
  last = ofGetElapsedTimeMillis();
  col.setHsb(0,255,255);
  col2.setHsb(0,255,255);
  col3.setHsb(0,255,255);
  col4.setHsb(0,255,255);
  counter = 0;
}
开发者ID:DJDeezy,项目名称:Xcode_Projects,代码行数:8,代码来源:GamePanel.cpp

示例13: backgroundUpdate

void GamePanel::backgroundUpdate() {
  if(ofGetElapsedTimeMillis() - last > 50) {
    
    col.setHue(counter % 256);
    col2.setHue((counter + 60) % 256);
    col3.setHue((counter + 120) % 256);
    col4.setHue((counter + 180) % 256);
    counter += 1;
    last = ofGetElapsedTimeMillis();
  }
}
开发者ID:DJDeezy,项目名称:Xcode_Projects,代码行数:11,代码来源:GamePanel.cpp

示例14: fill

 void fill(int rgb, float alpha)
 {
     m_hasFill = true;
     if( rgb > 255 )
         m_fillColor.setHex(rgb, alpha);
     else
         m_fillColor.set(rgb, alpha);
     
     if( m_inSetup )
         m_defaultFillColor = m_fillColor;
 }
开发者ID:JosephLaurino,项目名称:ofx-experiments,代码行数:11,代码来源:processing.cpp

示例15: stroke

 void stroke(int rgb, float alpha)
 {
     m_strokeColor.setHex(rgb, alpha);
     m_hasStroke = true;
     
     if( m_inSetup )
         m_defaultStrokeColor = m_strokeColor;
 }
开发者ID:JosephLaurino,项目名称:ofx-experiments,代码行数:8,代码来源:processing.cpp


注:本文中的ofColor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。