本文整理汇总了C++中wxDC::GetPPI方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDC::GetPPI方法的具体用法?C++ wxDC::GetPPI怎么用?C++ wxDC::GetPPI使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxDC
的用法示例。
在下文中一共展示了wxDC::GetPPI方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ConvertTenthsMMToPixels
// Convert units in tends of a millimetre to device units
int wxRichTextStyleListBox::ConvertTenthsMMToPixels(wxDC& dc, int units) const
{
int ppi = dc.GetPPI().x;
// There are ppi pixels in 254.1 "1/10 mm"
double pixels = ((double) units * (double)ppi) / 254.1;
return (int) pixels;
}
示例2: GetScaleRatio
double wxGISMapView::GetScaleRatio(OGREnvelope& Bounds, wxDC& dc)
{
wxCHECK(m_pGISDisplay, 0);
wxRect rc = m_pGISDisplay->GetDeviceFrame();
wxSize ppi = dc.GetPPI();
double screen_w = (double)rc.GetWidth() / ppi.GetWidth() * UNITS_IN_INCH;
double screen_h = (double)rc.GetHeight() / ppi.GetHeight() * UNITS_IN_INCH;
double w_w = fabs(Bounds.MaxX - Bounds.MinX);
double w_h = fabs(Bounds.MaxY - Bounds.MinY);
if(m_SpatialReference && m_SpatialReference->IsGeographic())
{
w_w = w_w * PIDEG * m_SpatialReference->GetSemiMajor();
w_h = w_h * PIDEG * m_SpatialReference->GetSemiMinor();
}
double screen = std::min(screen_w, screen_h);
double world = std::min(w_w, w_h);
return (world * 100) / screen;
}
示例3: DrawIndividualRawDensityPlot
void RawDataVisualizeFrame::DrawIndividualRawDensityPlot(wxDC& dc){
//PrepareDC(dc);
//SetUpDC(dc);
int w,h;
dc.GetSize(&w, &h);
/* labeledplotAxes myAxes(wxPoint(80,80),
wxPoint(w-30*5,h-30*5),
wxRealPoint(0.0,1000.0),
wxRealPoint(50.0,4000.0),
true);
*/
int min_x = min((int)(pltarea_min_x*(double)w),(int)(160*(double)(dc.GetPPI().x)/(double)72));
int min_y = min((int)(pltarea_min_y*(double)h),(int)(165*(double)(dc.GetPPI().x)/(double)72));
int max_x = max((int)((pltarea_max_x-pltarea_min_x)*(double)w),(int)(w - 100*(double)(dc.GetPPI().x)/(double)72 - min_x));
int max_y = max((int)((pltarea_max_y-pltarea_min_y)*(double)h),(int)(h-160*(double)(dc.GetPPI().x)/(double)72 - min_y));
labeledplotAxes myAxes(dc, wxPoint(min_x,min_y),
wxPoint(max_x,max_y),
wxRealPoint(3.0,0.0),
wxRealPoint(15.5,1.0),
true);
dc.Clear();
myAxes.setBackgroundColor(*wxWHITE_BRUSH);
myAxes.setupDCforPlot(dc);
// myAxes.addGrid(2, 0.2);
wxArrayDouble xtickpoints;
wxArrayDouble ytickpoints;
int i,j;
wxArrayString x_tick_labels;
wxArrayString y_tick_labels;
for (i=3; i <= 15; i++){
xtickpoints.Add((double)i);
x_tick_labels.Add(wxString::Format(_T("%d"), i));
}
for (i =0; i <= 10; i++){
ytickpoints.Add((double)i/10.0);
y_tick_labels.Add(wxString::Format(_T("%.2f"), i/10.0));
}
myAxes.setTickLocationX(xtickpoints);
myAxes.setTickLocationY(ytickpoints);
myAxes.setTickLabelsX(x_tick_labels);
myAxes.setTickLabelsY(y_tick_labels);
wxString x_label = wxT("log2 PM");
wxString y_label = wxT("Density");
myAxes.setAxisLabelX(x_label);
myAxes.setAxisLabelY(y_label);
myAxes.setTitle(MyRawData->GetArrayNames()[whichdensity]);
wxPoint xsq[512];
j = whichdensity;
for (i =0; i < 512; i++){
xsq[i] = myAxes.FindPoint(wxRealPoint((*DensityPlotStatistics_x)[j*512 + i], (*DensityPlotStatistics_y)[j*512 + i]));
}
dc.DrawSpline(WXSIZEOF(xsq),xsq);
dc.DestroyClippingRegion();
myAxes.Draw(dc);
}
示例4: LogPixelsY
int SurfaceImpl::LogPixelsY() {
return hdc->GetPPI().y;
}
示例5: DrawRawBoxplot
void RawDataVisualizeFrame::DrawRawBoxplot(wxDC &dc){
int i,j;
int w,h;
dc.GetSize(&w, &h);
int min_x = min((int)(pltarea_min_x*(double)w),(int)(160*(double)(dc.GetPPI().x)/(double)72));
int min_y = min((int)(pltarea_min_y*(double)h),(int)(165*(double)(dc.GetPPI().x)/(double)72));
int max_x = max((int)((pltarea_max_x-pltarea_min_x)*(double)w),(int)(w - 100*(double)(dc.GetPPI().x)/(double)72 - min_x));
int max_y = max((int)((pltarea_max_y-pltarea_min_y)*(double)h),(int)(h-160*(double)(dc.GetPPI().x)/(double)72 - min_y));
labeledplotAxes myAxes(dc,wxPoint(min_x,min_y),
wxPoint(max_x,max_y),
wxRealPoint(0.5,3.5),
wxRealPoint((double)MyRawData->count_arrays()+ 0.5 ,15.5),
true,
wxPoint(0,0),true,10);
//dc.SetClippingRegion(80,30*5-80 ,w-30*5,h-30*5);
//dc.SetBackground(*wxGREY_BRUSH);
//dc.Clear();
//SetUpDC(dc);
//dc.Clear();
myAxes.setupDCforPlot(dc);
wxArrayDouble xtickpoints;
wxArrayDouble ytickpoints;
wxArrayString x_tick_labels;
wxArrayString y_tick_labels;
wxString temp;
for (i =1; i <= MyRawData->count_arrays();i++){
xtickpoints.Add((double)i);
wxString mynewstring = wxString::Format(_T("%d"), i);
x_tick_labels.Add(mynewstring);
}
x_tick_labels = MyRawData->GetArrayNames();
// Strip the ".CEL" from the labels
for (i =0; i < MyRawData->count_arrays();i++){
temp = wxString(x_tick_labels[i]);
x_tick_labels[i] = temp.Remove(temp.Len() - 4);
}
for (i=2; i <= 15; i++){
ytickpoints.Add((double)i);
y_tick_labels.Add(wxString::Format(_T("%d"), i));
}
myAxes.setTickLocationX(xtickpoints);
myAxes.setTickLocationY(ytickpoints);
myAxes.setTickLabelsX(x_tick_labels);
myAxes.setTickLabelsY(y_tick_labels);
myAxes.setTickLabelsPerpendicular(true);
wxString x_label = wxT("");
wxString y_label = wxT("log2 PM");
myAxes.setAxisLabelX(x_label);
myAxes.setAxisLabelY(y_label);
myAxes.setTitle(wxT("log2 PM by array for raw data"));
wxColor tempColor = wxColor(100,100,255);
for (j =0; j < MyRawData->count_arrays();j++){
Draw_Single_Boxplot(dc,
myAxes.FindPoint(wxRealPoint(1.0,max(log((*BoxplotStatistics)[j*5 + 0])/log(2.0),3.5))).y,
myAxes.FindPoint(wxRealPoint(1.0,log((*BoxplotStatistics)[j*5 + 1])/log(2.0))).y,
myAxes.FindPoint(wxRealPoint(1.0,log((*BoxplotStatistics)[j*5 + 2])/log(2.0))).y,
myAxes.FindPoint(wxRealPoint(1.0,log((*BoxplotStatistics)[j*5 + 3])/log(2.0))).y,
myAxes.FindPoint(wxRealPoint(1.0,min(log((*BoxplotStatistics)[j*5 + 4])/log(2.0),15.5))).y,
myAxes.FindPoint(wxRealPoint((double)(j+1),0)).x,
myAxes.FindPoint(wxRealPoint(3.4,0)).x - myAxes.FindPoint(wxRealPoint(2.6,0)).x,&tempColor);
//.........这里部分代码省略.........